Copyright Κωνσταντίνος Γ. Χαλκιάς, Αύγουστος 2006

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Χαλκιάς Κωνσταντίνος του Γεωργίου. Μεταπτυχιακό τµήµα Εφαρµοσµένης Πληροφορικής Πανεπιστηµίου Μακεδονίας. Στεφανίδης Γεώργιος

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

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

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

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

Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 8 η. Βασίλης Στεφανής

Σχεδιασμός Εικονικών Δικτύων Ενότητα 4β: VPN on IPSec (Μέρος 2ο)

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

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

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

Λειτουργικά Συστήματα (ΗΥ321)

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

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

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

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

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

Στοιχεία Θεωρίας Αριθμών

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

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

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Αννα Νταγιου ΑΕΜ: 432. Εξαμηνο 8. Ερώτηση 1. Πληκτρολογήστε την εντολή: openssl help Παρατηρήστε τις πληροφορίες που λαµβάνετε.

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

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ

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

Κρυπτογραφία. Εργαστηριακό μάθημα 1

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

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

Παύλος Εφραιμίδης. προηγμένα κρυπτογραφικά πρωτόκολλα. Ασφ Υπολ Συστ

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

Κρυπτογραφία και Ηλεκτρονικοί Υπολογιστές. ΣΥΝΤΕΛΕΣΤΕΣ: Κραβαρίτης Αλέξανδρος Μαργώνη Αγγελική Χαλιμούρδα Κων/να

Ανάλυση Δικτυακής Κίνησης Πρωτοκόλλων Υπηρεσιών. Ασφάλεια Δικτύων. (4 η άσκηση) Διαχείριση Δικτύων - Ευφυή Δίκτυα, 9 ο Εξάμηνο,

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

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

Public Key Cryptography. Dimitris Mitropoulos

Κρυπτογραφία. Εργαστηριακό μάθημα 11 (Επαναληπτικές ασκήσεις)

Γενικά Μία μέθοδος κρυπτογραφίας δημοσίου κλειδιού Αντί για δακτύλιους της μορφής Z n χρησιμοποιεί ελλειπτικές καμπύλες ορισμένες σε πεπερασμένα σώματ

Βασικές Έννοιες Κρυπτογραφίας

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

Κρυπτογραφία ηµόσιου Κλειδιού Η µέθοδος RSA. Κασαπίδης Γεώργιος -Μαθηµατικός

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

7 ΔΙΑΧΕΙΡΙΣΗ ΚΛΕΙΔΙΩΝ

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ στα Πληροφοριακά Συστήματα Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ.

Κρυπτογραφία. Εργαστηριακό μάθημα 10 (Επαναληπτικές ασκήσεις)

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

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

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

Πρόβληµα 2 (12 µονάδες)

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

8.3 Ασφάλεια ικτύων. Ερωτήσεις

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

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

Προδιαγραφή και Επαλήθευση Πρωτοκόλλων Ασφαλείας Συστημάτων Κινητών Επικοινωνιών με Χρήση Τυπικών Μεθόδων

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

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 2 ΕΠΙΜΕΛΕΙΑ :ΣΤΟΥΚΑ ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ:ΜΠΛΑ

Πρωτόκολλα Ασφάλειας IΙ

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

ΣΕΜΙΝΑΡΙΟ. ΠΑΡΟΥΣΙΑΣΗ 19/5/11 Αµφιθέατρο

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

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

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία

Transcript:

Υπεύθυνος Καθηγητής: Στεφανίδης Γεώργιος Εξεταστές: Στεφανίδης Γεώργιος, Χατζηγεωργίου Αλέξανδρος Μεταπτυχιακό τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Διπλωματική εργασία Σχεδίαση και ανάλυση κρυπτογραφικών πρωτοκόλλων με σκοπό την αποκρυπτογράφηση πληροφοριών σε συγκεκριμένες χρονικές στιγμές στο μέλλον. Timed-Release Cryptography (TRC) Copyright Κωνσταντίνος Γ. Χαλκιάς, Αύγουστος 2006

Οργάνωση παρουσίασης Περιγραφή του TRC Εφαρμογές Κατηγορίες πρωτοκόλλων CPU based 3 rd party based Υλοποίηση σε Java & αποτελέσματα TRC Πρωτόκολλο με Hash-chains TRC Πρωτόκολλο El Gamal based Συγκρίσεις & Συμπεράσματα TRC Πρωτόκολλο Fast + Low Cost

Timed-Release Cryptography (TRC) Σκοπός Κρυπτογράφηση ενός μηνύματος με στόχο την αποκρυπτογράφηση του σε μια συγκεκριμένη χρονική στιγμή στο μέλλον. sending information into the future Γενικές Απαιτήσεις Να μην επιτρέπεται η αποκρυπτογράφηση του κρυπτοκειμένου πριν από μια αυστηρώς καθορισμένη χρονική στιγμή, συμπεριλαμβανομένου και του τελικού αποδέκτη. Αν εμπλέκεται και τρίτη οντότητα (π.χ. agent, trusted server), τότε αυτή δεν πρέπει να έχει τη δυνατότητα εξόρυξης πληροφοριών που θα προδώσουν το περιεχόμενο του κρυπτοκειμένου.

Εφαρμογές που απαιτούν TRC (1) E-voting Τα ψηφοδέλτια ανοίγουν μετά την λήξη της ψηφοφορίας. Κλειστές δημοπρασίες Οι προσφορές παραμένουν κλειστές μέχρι τη λήξη της δημοπρασίας, ώστε κανείς από τους συμμετέχοντες να μη γνωρίζει τη προσφορά των ανταγωνιστών του.

Εφαρμογές που απαιτούν TRC (2) Διαγωνισμοί π.χ. Internet programming contest όπου οι συμμετέχοντες δεν πρέπει να γνωρίζουν τις πληροφορίες του ζητούμενου προβλήματος πριν από την έναρξη του διαγωνισμού. Λοταρίες και online games Οιπαίχτες θα μπορούν να ελέγξουν την ορθότητα και την αμεροληψία του αποτελέσματος.

Εφαρμογές που απαιτούν TRC (3) Καθυστερημένη εμφάνιση και επαλήθευση ενός υπογεγραμμένου εγγράφου π.χ. διαθήκες, κληρονομιές, συμβόλαια. Καθυστερημένη εμφάνιση μηνυμάτων ή και της ταυτότητας του αποστολέα π.χ. για λόγους ψυχαγωγίας (ευχετήρια, φιλικά ή ακόμα και ερωτικά SMS / e-mails). Ενεργοποίηση / Απενεργοποίηση κάποιων features σε software εφαρμογές π.χ. anti-piracy control.

Κατηγορίες TRC πρωτοκόλλων 1. CPU based : Πρωτόκολλα βασισμένα σε αλγορίθμους που δε μπορούν να παραλληλοποιηθούν. Στηρίζονται επομένως στην υπολογιστική ισχύ του αποδέκτη. Δεν απαιτούν συμμετοχή τρίτης οντότητας. Δεν παρέχουν ακριβή ημ/νια αποκρυπτογράφησης. 2. 3 rd party based : Πρωτόκολλα βασισμένα κυρίως σε τεχνικές ασύμμετρης κρυπτογράφησης. Απαιτούν συμμετοχή τρίτης οντότητας που αναλαμβάνει το ρόλο ενός έμπιστου server.

CPU based Protocols Βασίζονται στο πρόβλημα εκθετοποίησης mod n. Πιο συγκεκριμένα αν n είναι ένας σύνθετος αριθμός : n = p q ( p, q πρώτοι) τότε αν δε γνωρίζει κάποιος τη παραγοντοποίηση του n είναι δύσκολο να υπολογίσει το 2 a t (mod n) όπου gcd(a,n)=1. Μέχρι στιγμής αν t<<n (π.χ. n>2 1024, t<2 100 ) δεν υπάρχει αλγόριθμος που να λύνει το πρόβλημα σε λιγότερο από t squarings. Καθώς το αποτέλεσμα κάθε squaring είναι απαραίτητο για την εκτέλεση του επόμενου squaring δεν μπορεί να γίνει παραλληλοποίηση.

Υλοποίηση CPU based πρωτοκόλλων Δημιουργία βιβλιοθήκης σε Java για τους ακόλουθους αλγορίθμους. 1. Time-Lock Puzzle των R. Rivest et. al (η πρώτη προσπάθεια για TRC) 2. Timed-Release crypto with Proven Membership του W. Mao (παρέχει διαβεβαίωση ότι το σωστό μήνυμα θα αποκαλυφθεί μετά από t squarings) 3. Timed-Release of an RSA signature του W. Mao

Συμπεράσματα εκτέλεσης (1) Καθώς ο χρόνος αποκρυπτογράφησης εξαρτάται από το μηχάνημα στο οποίο εκτελείται, ο αποστολέας πρέπει να γνωρίζει τα τεχνικά χαρακτηριστικά του hardware του παραλήπτη για να ορίσει έναν εκτιμώμενο αριθμό squarings. Για να είμαστε σίγουροι χρησιμοποιούμε ως βάση για τις μετρήσεις το ισχυρότερο μηχάνημα της εποχής, ικανοποιώντας παράλληλα το νόμο του Moore. Χρησιμοποιούν όλη την υπολογιστική ισχύ της CPU, δεσμεύοντας έτσι το μηχάνημα.

Συμπεράσματα εκτέλεσης (2) 8000 Sq/sec 7000 6000 5000 4000 3000 2000 1000 0 Athlon64 3800+ Intel Core DUO 2.0 Athlon 2800+ Centrino 1.7 P4 2.4 Celeron 0.7

3 rd party or agent based protocols Τα πρώτα πρωτόκολλα απαιτούσαν τη συμμετοχή του server είτε στη διαδικασία κρυπτογράφησης, είτε στης αποκρυπτογράφησης. Πολλά από αυτά θυσίαζαν την ανωνυμία των αποστολέων. Σε μερικά ΙΒΕ (Identity Based Encryption) συστήματα ο server μπορεί να εξάγει σημαντικές πληροφορίες για τα μηνύματα. Μια μεγάλη πλειοψηφία των TRC πρωτοκόλλων απαιτεί διαφορετική κατασκευή κλειδιών (κυρίως των δημόσιων κλειδιών), με αποτέλεσμα να μην είναι συμβατά με τις υπάρχουσες μεθόδους κρυπτογράφησης όπως με το πρωτόκολλο El Gamal και την ανταλλαγή κλειδιών Diffie-Hellman. Κανένα σύστημα δε λύνει ταυτόχρονα το πρόβλημα των προηγούμενων και επόμενων κλειδιών και ο χρήστης πρέπει να τα αναζητήσει στο server.

TRC based on Bilinear Pairings Υποθέτουμε ότι G 1 είναι μια προσθετική κυκλική ομάδα και P ο γεννήτορας αυτής. Η τάξη της ομάδας αυτής είναι q (prime number). Επιπλέον, G 2 είναι μια πολλαπλασιαστική κυκλική ομάδα ίδιας τάξης. Ορίζουμε ως bilinear mapping το ê: G 1 G 1 G 2 αν και μόνο αν ικανοποιούνται οι εξής ιδιότητες : 1. Bilinear : ê(ap,bq)= ê(abp,q)= ê(p,q) ab 2. Non-Degenerate : Υπάρχουν P,Q όπου ê(p,q) 1 3. Efficient : Υπάρχει ευφυής αλγόριθμος που υπολογίζει το bilinear map

TRC με Hash Chains Το προτεινόμενο πρωτόκολλο χρησιμοποιεί τη τεχνική του S/Key password system για τη κατασκευή των ιδιωτικών κλειδιών που αντιπροσωπεύουν μια χρονική στιγμή σε συνδυασμό με τα bilinear pairings που χρησιμοποιούνται κυρίως για authentication. Η καινοτομία έγκειται στο ότι : 1. Ο server δημοσιεύει μόνο μια μικρή πληροφορία (έναν ακέραιο π.χ. 160 bits) όταν φτάσει η συγκεκριμένη ημ/νια και όχι ένα πλήθος αριθμών και σημείων όπως στα περισσότερα ανταγωνιστικά πρωτόκολλα. 2. Λύνει το πρόβλημα των προηγούμενων time-private keys, καθώς με τη μέθοδο του συνεχόμενου hash μπορεί κάποιος να παράγει τα προηγούμενα time-keys.

TRC με Hash chains: Συμβολισμοί Η 1 : {0,1} * G 1 H 2 : {0,1} * {0,1} n H n 2 ( x) (message2point) (π.χ. MD5 product) είναι το αποτέλεσμα αν γίνει συνεχόμενο hash του x για n φορές Δημόσια και ιδιωτικά κλειδιά Server : private s (ακέραιος) public G, sg Χρήστες : private a (ακέραιος) public ag, asg

TRC με Hash chains: Time Keys (1) Δημιουργία λίστας των time private keys. Έστω ένας server που πρέπει να δημοσιεύσει κλειδιά ανά μία ώρα. Αν θεωρήσουμε ότι ξεκινάμε από τις 00:00:00 AM Aug 30, 2006 GMT και χρειαζόμαστε κλειδιά μέχρι τις 23:00 ΑΜ Aug 30, 2006 GMT τότε ο server εκτελεί την εξής διαδικασία : Επιλέγει ένα τυχαίο ακέραιο r 160 bits και εφαρμόζει την Η 2 23 φορές. Τότε η λίστα που δημιουργείται περιέχει τα ιδιωτικά κλειδιά για κάθε ώρα, αλλά το σημαντικό είναι ότι η αντιστοίχηση γίνεται αντίστροφα.

TRC με Hash chains: Time Keys (2) Hr 1 2( r) 1 H23:00:00 ( ) PM 2 r 1 H 2 ( r) 2 H 2 ( r) 22:00:00 PM 21:00:00 PM 22 H 2 ( r) 23 H 2 ( r) 01:00:00 AM 00:00:00 AM

TRC με Hash chains: Time Keys (3) Δημιουργία λίστας των time public keys Καταρχήν χρησιμοποιώντας την H 1 αντιστοιχούμε το string που αντιπροσωπεύει κάθε ώρα σε ένα σημείο της ελλειπτικής καμπύλης. Για παράδειγμα Τ 1 = Η 1 ( 00:00:00 AM Aug 30, 2006 GMT ). Έπειτα το time public key γιααυτήτημέραείναιτα στοιχεία rt 1 και rsg (sg είναι το public του server), όπου r, όπως έχουμε πει, είναι το ιδιωτικό κλειδί για αυτή την ώρα. Με αυτό τον τρόπο κατασκευάζονται και δημοσιεύονται από πριν όλα τα time public keys.

TRC με Hash chains: Encryption (1) Έστω ο χρήστης Α θέλει να στείλει στο χρήστη Β ένα μήνυμα Μ που θα ανοίξει την χρονική στιγμή Τ. 1. Παίρνει από το server το time public key για τη χρονική στιγμή Τ (rt, rsg) και ελέγχει την ορθότητα του : ê(τ,rsg)= ê(rt,sg) => ê(τ,g) rs = ê(τ,g) rs 2. Ελέγχει την ορθότητα του κλειδιού του παραλήπτη : ê(bg,sg)= ê(g,bsg) => ê(g,g) sb = ê(g,g) sb

TRC με Hash chains: Encryption (2) 3. Επιλέγει έναν τυχαίο αριθμό k. 4. Κατασκευάζει το συμμετρικό κλειδί ως εξής : SK = ê(rt,bg) ak = ê(t,g) abkr 5. Αποστέλλει το κρυπτοκείμενο C = < kt, M SK >.

TRC με Hash chains: Decryption 1. Ο παραλήπτης λαμβάνει από το server το ιδιωτικό κλειδί r που αντιστοιχεί στη χρονική στιγμή Τ. 2. Υπολογίζει το συμμετρικό κλειδί ως : SK * = ê(kt,ag) br = ê(t,g) abkr 3. Αποκρυπτογραφεί το Μ ως : SK* (M SK) = M

El Gamal based TRC Πρωτόκολλο (1) Στο πρωτόκολλο αυτό τα κλειδιά των χρηστών είναι αυτά που χρησιμοποιούνται και στον αλγόριθμο του El Gamal σε ελλειπτικές καμπύλες δηλ. Δημόσια και ιδιωτικά κλειδιά (γεννήτορας G) Server : private s (ακέραιος) public sg Χρήστες : private a (ακέραιος) public ag

El Gamal based TRC Πρωτόκολλο (2) Όσον αφορά όμως τα time keys η φιλοσοφία είναι εντελώς διαφορετική. Σε αυτή τη περίπτωση το time public key είναι το Τ = H 1 (time) δηλαδή, ο καθένας μπορεί να το υπολογίσει και να κάνει encryption χωρίς να έρθει σε επαφή με το server. Το time private key είναι το st που μόνο ο server μπορεί να υπολογίσει.

El Gamal based TRC: Encryption 1. Ο χρήστης Α επιλέγει ένα τυχαίο αριθμό k 2. Υπολογίζει το SK = ê(t,kg+sg) a = ê(t,g) (k+s)a 3. Στέλνει 3 ποσότητες : kg, kt+kbg και το Μ SK

El Gamal based TRC: Decryption 1. Ο B έχοντας λάβει το kg, υπολογίζει το bkg 2. Αφαιρεί αυτό που βρήκε από τη δεύτερη ποσότητα που έλαβε και παίρνει το kt δηλαδή: (kt+rbg) bkg = kt 3. Μόλις λάβει από τον server το st υπολογίζει το μυστικό κλειδί : SK* = ê(kt+st,ag)= ê(t,g) (k+s)a =SK 4. Αποκρυπτογραφεί το Μ όπως και πριν

FAST TRC Protocol Το πρωτόκολλο αυτό χρησιμοποιεί την ίδια λογική με το προηγούμενο και η κατασκευή των κλειδιών των χρηστών, αλλά και των time κλειδιών είναι ακριβώς η ίδια. Όσον αφορά το κόστος επικοινωνίας, αλλά και το υπολογιστικό κόστος, φαίνεται ότι υπερτερεί έναντι οποιουδήποτε άλλου υπάρχοντος TRC συστήματος, χωρίς να χάνει σε λειτουργικότητα και ασφάλεια.

FAST TRC Protocol: Encryption 1. O χρήστης Α επιλέγει έναν τυχαίο αριθμό r 2. Υπολογίζει το συμμετρικό κλειδί ως: SK = ê(t,rbg+sg) a = ê(t,g) (rb+s)a 3. Αποστέλλει τα r, Μ SK

FAST TRC Protocol: Decryption 1. Ο Β έχοντας λάβει το r υπολογίζει το rbt 2. Λαμβάνοντας από τον server το time private key st, υπολογίζει το συμμετρικό κλειδί ως : SK* = ê(rbt+st,ag)= ê(t,g) (rb+s)a =SK 3. Αποκρυπτογραφεί το μήνυμα όπως και στις προηγούμενες περιπτώσεις.

TRC Protocols: Results Protocol Communication cost Computational cost Blake and Chan Osipkov et. al Proposed Hash Chains Proposed El Gamal Proposed Fast TRC 1Pt + 1 Msg (+2 Pt Public Keys) 1Pt + 2 Msg 1 Pt + 1 Msg (+ 2Pt Public keys + 2Pt time-keys) 2Pt + 1 Msg 1 Msg + 1num Enc:1 pair + 2mul + 1H Dec:1 pair + 1 pow + 1H Enc:1 pair + 2mul + 1H Dec:1 pair + 2 mul+ 1H Enc:1 pair + 1 mul + 1 pow + 1H Dec:1 pair + 1 pow +1H Enc:1 pair + 2 mul + 1 pow + 1H Dec:1 pair + 1 mul + 1H Enc:1 pair + 1 mul + 1 pow + 1H Dec:1 pair + 1 mul + 1H

TRC Τέλος Q&A Ευχαριστώ, Κωνσταντίνος Γ. Χαλκιάς