1 / 85

Εισαγωγή στην Κρυπτογραφία

Εισαγωγή στην Κρυπτογραφία. Εγκαθίδρυση κλειδιού (γέννηση, διανομή & συμφωνία). Γέννηση κλειδιών. Ο χώρος από τον οποίο δημιουργούνται τα κλειδιά ( Key space) πρέπει να είναι μεγάλος Η επιλογή από το χώρο των κλειδιών πρέπει να είναι τυχαία Οι άνθρωποι συνήθως επιλέγουν όχι καλά κλειδιά

mikaia
Download Presentation

Εισαγωγή στην Κρυπτογραφία

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Εισαγωγή στην Κρυπτογραφία Εγκαθίδρυση κλειδιού (γέννηση, διανομή & συμφωνία)

  2. Γέννηση κλειδιών • Ο χώρος από τον οποίο δημιουργούνται τα κλειδιά (Key space) πρέπει να είναι μεγάλος • Η επιλογή από το χώρο των κλειδιών πρέπει να είναι τυχαία • Οι άνθρωποι συνήθως επιλέγουν όχι καλά κλειδιά • Κάποιοι αλγόριθμοι έχουν ασθενή κλειδιά που πρέπει να αποφεύγονται (για παράδειγμα, ο DES έχει 16 τέτοια κλειδιά • ANSI X9.17 Key Generation Algorithm (pseudorandom bit generator) • Το κλειδί παράγεται από το προηγούμενο κλειδί, μέσω κάποιας διαδικασίας κρυπτογράφησης. Ri=EK(Ek(Ti)  Vi) όπου: • Ek(X) μία two-key triple-DES E-D-E κρυπτογράφηση του X, με κλειδί το k (που κρατείται αποκλειστικά για αυτόν τον αλγόριθμο) • V0είναι μία αρχική μυστική αλληλουχία bits (σπόρος, seed), • T είναι ένα timestamp • Το Vi+1παράγεται με τη συνάρτηση: Vi+1=EK(EK(Ti) Ri)

  3. Εγκαθίδρυση Κλειδιού • Διανομή κλειδιού βασισμένη σε συμμετρική κρυπτογράφηση • Συμφωνία κλειδιού βασισμένη σε συμμετρικές τεχνικές • Διανομή κλειδιού βασισμένη σε κρυπτογράφηση δημόσιου κλειδιού • Συμφωνία κλειδιού βασισμένη σε μη συμμετρικές τεχνικές • Κρυφός διαμοιρασμός (secret sharing) • Συνδιάσκεψη κλειδιών • Ανάλυση Πρωτοκόλλων Εγκαθίδρυσης Κλειδιού

  4. Στόχος • Τα πρωτόκολλα Εγκαθίδρυσης Κλειδιού και συναφείς κρυπτογραφικές τεχνικές παρέχουν διαμοιραζόμενα μυστικά μεταξύ δύο ή περισσότερων μελών τυπικά για διαδοχική χρήση τους ως συμμετρικά κλειδιά για μία ποικιλία κρυπτογραφικών σκοπών (κρυπτογράφηση, πιστοποίηση μηνύματος , πιστοποίηση ταυτότητας). • Εστιάζουν στην εγκαθίδρυση κλειδιού μεταξύ δύο ατόμων, με τη βοήθεια ενός έμπιστου τρίτου μέλους σε ορισμένες περιπτώσεις.

  5. Ορολογία • Εγκαθίδρυση κλειδιού (key establishment) : διαδικασία ή πρωτόκολλο μέσω του οποίου ένα διαμοιραζόμενο μυστικό διατίθεται σε δύο ή περισσότερα μέλη για διαδοχική κρυπτογραφική χρήση. Χωρίζεται σε διανομή κλειδιού και συμφωνία κλειδιού. • Πρωτόκολλο διανομής κλειδιού : τεχνική εγκαθίδρυσης κλειδιού όπου ένα μέλος δημιουργεί ή εξασφαλίζει μία μυστική τιμή και τη μεταφέρει με ασφάλεια στους άλλους. • Πρωτόκολλο Συμφωνίας κλειδιού : τεχνική εγκαθίδρυσης κλειδιού στην οποία ένα διαμοιραζόμενο μυστικόπροέρχεται από δύο ή περισσότερα μέλη ως μία συνάρτηση πληροφορίας συμβαλλόμενη, ή συνδυαζόμενη με κάθε ένα από αυτά, έτσι ώστε κανένα μέλος να μη μπορεί να προκαθορίσει το αποτέλεσμα. • Σχήματα Προ-διανομής κλειδιού : Πρωτόκολλα Εγκαθίδρυσης Κλειδιού μέσω των οποίων τα τελικώς εγκαθιδρυμένα κλειδιά είναι εντελώς καθορισμένα a prioriαπό αρχικά κλειδιά. • Σχήματα Δυναμικής Εγκαθίδρυσης κλειδιού : σχήματα μέσω των οποίων το κλειδί που έχει εγκαθιδρυθεί από ένα καθορισμένο ζευγάρι (ή ομάδα) χρηστών μεταβάλλεται σε διαδοχικές εκτελέσεις.

  6. Ορολογία • Πιστοποίηση κλειδιού : ιδιότητα μέσω της οποίας ένα μέλος βεβαιώνεται ότι κανένα άλλο μέλος εκτός από ένα εδικό αναγνωρισμένο δεύτερο μέλος δεν μπορεί να αποκτήσει πρόσβαση σε ένα ειδικό μυστικό κλειδί. • Επιβεβαίωση κλειδιού : ιδιότητα μέσω της οποίας ένα μέλος βεβαιώνεται ότι ένα δεύτερο (πιθανώς μη αναγνωρισμένο) μέλος έχει στην κατοχή του ένα μυστικό κλειδί. • Άμεση πιστοποίηση κλειδιού : ιδιότητα η οποία εξασφαλίζεται όταν και η (έμμεση) πιστοποίηση και η επιβεβαίωση κλειδιού ισχύουν. • Πρωτόκολλο πιστοποίησης εγκαθίδρυσης κλειδιού : Πρωτόκολλο Εγκαθίδρυσης Κλειδιού που παρέχει πιστοποίηση κλειδιού. • Ένα Πρωτόκολλο Εγκαθίδρυσης Κλειδιού ονομάζεται identity-based (βασισμένο σε ταυτότητα) αν πληροφορίες της ταυτότητας των εμπλεκόμενων μελών χρησιμοποιούνται για τον καθορισμό του δημόσιου κλειδιού. • Ένα διμερές πρωτόκολλο εγκαθίδρυσης κλειδιού ονομάζεται message-independent (ανεξάρτητο μηνύματος) αν τα μηνύματα που στέλνονται από κάθε μέλος είναι ανεξάρτητα από χρονικά μεταβαλλόμενα δεδομένα (δυναμικά δεδομένα) τα οποία λαμβάνονται από άλλα μέλη.

  7. Διανομή κλειδιού • Φυσική διανομή • Το κλειδί μεταβιβάζεται μέσα από ένα ασφαλές φυσικό κανάλι (υπάρχει?) • Με κρυπτογραφημένη επικοινωνία • Με κρυπτογραφημένη επικοινωνία, μέσω ενός διαιτητή

  8. Αρχές διανομής κλειδιού • Σημείο-προς-σημείο παράδοση μέσω ενός αξιόπιστου καναλιού επικοινωνίας: οι χρήστες ανταλλάσσουν το κοινό τους κλειδί για επικοινωνία μεταξύ τους, με χρήση τεχνικών που εξασφαλίζουν ακεραιότητα δεδομένων. Χρησιμοποιείται σε κλειστά συστήματα με λίγους χρήστες ή σε περιπτώσεις όπου το κλειδί δεν αλλάζει συχνά. • Κοινή πρόσβαση σε ένα έμπιστο, δημόσιο αρχείο: Το αρχείο αυτό περιέχει τα δημόσια κλειδιά για κάθε χρήστη του συστήματος. Απαιτείται όμως ασφαλές κανάλι για την πρόσβαση σε αυτό, έτσι ώστε να μην μπορούν να λάβουν χώρα ενεργές επιθέσεις. • Ύπαρξη οn-line έμπιστου εξυπηρετητή: όποιος χρήστης χρειάζεται κλειδί, ζητάει εκείνη τη στιγμή από έναν on-line εξυπηρετητή. Μειονέκτημα είναι το ότι ο εξυπηρετητής αυτός μπορεί ταυτόχρονα να χρειαστεί να διανείμει πάρα πολλά κλειδιά σε μεγάλο αριθμό χρηστών.

  9. Αρχές διανομής κλειδιού (II) • Χρήση offline εξυπηρετητή και πιστοποιητικών (certificates): οκάθε χρήστης επικοινωνεί με έναν έμπιστο off-line εξυπηρετητή (certification authority), ο οποίος «υπογράφει» ένα μπλοκ δεδομένων του χρήστη, το οποίο περιέχει τόσο το μήνυμα όσο και το δημόσιο κλειδί. Στα δεδομένα επίσης πρέπει να υπάρχει και ένα αναγνωριστικό της ταυτότητας του χρήστη. (παράγραφος 13.4.2 από «Handbook of Applied Cryptography») • Χρήση συστημάτων που πιστοποιούν τη γνησιότητα δημοσίων παραμέτρων (π.χ. Identity-based συστήματα, όπου το δημόσιο κλειδί για τον κάθε χρήστη δεν προϋπάρχει αλλά κατασκευάζεται με βάση κάποια γνωστή πληροφορία που χαρακτηρίζει το χρήστη – παράγραφος 13.4.2 από «Handbook of Applied Cryptography»)

  10. Είδη Επιβεβαιώσεων και χαρακτηριστικά πρωτοκόλλων Χαρακτηριστικά που διαφοροποιούν τις τεχνικές εγκαθίδρυσης κλειδιού: • φύση της πιστοποίησης οποιοσδήποτε συνδυασμός των παρακάτω μπορεί να παρέχεται : πιστοποίηση ταυτότητας ,πιστοποίηση κλειδιού, επαλήθευση κλειδιού. • αμοιβαιότητα της πιστοποίησης : όταν παρέχεται πιστοποίηση ταυτότητας, πιστοποίηση κλειδιού και επαλήθευση κλειδιού να παρέχεται μονομερώς ή αμοιβαία. • «φρεσκάδα» του κλειδιού : ένα κλειδί θεωρείται «φρέσκο» αν μπορεί να εγγυηθεί ότι είναι νέο σε αντίθεση με ένα πιθανό παλιό κλειδί το οποίο έχει ξαναχρησιμοποιηθεί σε ενέργειες εχθρικών ή μη εγκεκριμένων μελών. • έλεγχος κλειδιού : σε μερικά πρωτόκολλα (διανομής κλειδιού) ένα μέλος επιλέγει μία τιμή κλειδιού. Σε άλλα πρωτόκολλα (συμφωνίας κλειδιού) το κλειδί παράγεται από μια συνδυασμένη πληροφορία και μπορεί να είναι επιθυμητό ότι κανένα μέλος να μην είναι ικανό να ελέγξει ή να προβλέψει την τιμή του κλειδιού.

  11. Είδη Επιβεβαιώσεων και χαρακτηριστικά πρωτοκόλλων (συνέχεια) • αποδοτικότητα. Περιλαμβάνει τα εξής : α) αριθμός των ανταλλαγών μηνύματος που απαιτείται μεταξύ των μελών. β) το εύρος ζώνης που απαιτείται από τα μηνύματα (bandwirth). γ) υπολογιστική πολυπλοκότητα για το κάθε μέλος (καθώς επηρεάζει το χρόνο εκτέλεσης). δ) πιθανότητα προ-επεξεργασίας για να μειωθεί η on-line υπολογιστική πολυπλοκότητα. • απαιτήσεις τρίτου μέλους. Περιλαμβάνει τα εξής : α) απαίτηση για ένα on-line (πραγματικού χρόνου) ή off-line ή χωρίς τρίτο μέλος. β) βαθμός εμπιστοσύνης που απαιτείται από ένα τρίτο μέλος. • τύπος του πιστοποιητικού που χρησιμοποιείται, αν υπάρχει. Γενικότερα κάποιος μπορεί να θεωρήσει ότι ο τρόπος με τον οποίο διαχωρίζονται τα αρχικά κλειδιά μπορεί να σχετίζεται με τις απαιτήσεις του τρίτου μέλους. • μη αποκήρυξη (non-repudiation) : Ένα πρωτόκολλο μπορεί να παρέχει κάποιου είδους απόδειξης ότι το περιεχόμενο του κλειδιού έχει ανταλλαγεί.

  12. Διαχείριση του κλειδιού • Η ασφάλεια κάθε κρυπτογραφικού συστήματος εξαρτάται από την ασφαλή και αποδοτική διανομή και διαχείριση του κλειδιού • Συχνές αλλαγές (κάθε κλειδί να χαρακτηρίζεται ως νέο) • Χαμηλό overhead στο κανάλι (με δεδομένο ότι σε δίκτυο n κόμβων, απαιτούνται n(n-1)/2 κλειδιά, ένα για κάθε ζεύγος χρηστών) • Κέντρα κατανομής κλειδιού (Key Distribution Centers - KDCs) και Κέντρα μετάφρασης κλειδιού (Key Translation Centers - KΤCs): παίζουν ρόλο «διαιτητή» στην ανταλλαγή κλειδιών μεταξύ των χρηστών (θα τα δούμε σε επόμενη ενότητα)

  13. Αρχές διαχείρισης κλειδιού • Για μείωση της πιθανότητας υποκλοπής • Χρήση διαφορετικών κλειδιών για διαφορετικούς σκοπούς • Γέννηση νέων κλειδιών με χρήση των παλιών, σε συνδυασμό με κάποια συνάρτηση κατακερματισμού • Για μείωση της πιθανότητας να προσποιηθεί κάποιος ότι είναι κάποιος άλλος • Χρήση αμοιβαίας πιστοποίησης ταυτότητας όταν ανταλλάσσεται το κλειδί • Για μείωση των συνεπειών σε βλάβη του υπολογιστή • Αποθήκευση κλειδιών στη μνήμη, π.χ. smart card, flash key, etc. • Hardware και όχι software προστασία • Άλλες αρχές: • Συχνή αντικατάσταση κλειδιών

  14. Διαχείριση κλειδιού – Πλεονεκτήματα Συστημάτων Δημοσίου Κλειδιού έναντι Συμμετρικού • Για να στείλει κρυπτογραφημένα δεδομένα ένας χρήστης A στον B, χρειάζεται να ξέρει απλά το Δημόσιο Κλειδί του Β • Δεν χρειάζεται On-line εξυπηρετητής • Γίνονται αποδοτικά λειτουργίες όπως έλεγχος πιστοποίησης ταυτότητας και αυθεντικότητας δεδομένων.

  15. Επιθέσεις στα Πρωτόκολλα Εγκαθίδρυσης Κλειδιού • Τα επικοινωνούντα μέλη ή οντότητες στα πρωτόκολλα εγκαθίδρυσης κλειδιού επίσημα καλούνται αρχές (principals) και έχουν μοναδικά ονόματα. • Επιπρόσθετα, υποθέτουμε την παρουσία ενός μη εγκεκριμένου τρίτου μέλους το οποίο αναφέρεται ανάλογα ως ανταγωνιστής (adversary), εισβολέας (intruder), αντίπαλος (opponent), εχθρός (enemy), επιτιθέμενος (attacker), λαθρακουστής (eavesdropper), πλαστοπρόσωπος (impersonator). • Όταν εξετάζουμε την ασφάλεια ενός πρωτοκόλλου υποθέτουμε ότι ο μηχανισμός κρυπτογράφησης είναι ασφαλής. • Υποθέτουμε ότι ο επιτιθέμενος δεν είναι ένας κρυπταναλυτής αλλά κάποιος που προσπαθεί να υπονομεύσει τους στόχους του πρωτοκόλλου νικώντας τον τρόπο με τον οποίο αυτοί οι μηχανισμοί συνδυάζονται.

  16. Παθητική & ενεργητική επίθεσηΜία παθητική επίθεση (passive attack) αναφέρεται σε έναν επιτιθέμενο ο οποίος καταγράφει τα δεδομένα και στη συνέχεια προσπαθεί να τα αναλύσει. Μία ενεργητική επίθεση (active attack) αναφέρεται σε έναν επιτιθέμενο ο οποίος τροποποιεί ή παρεμβάλει μηνύματα. Μοντελοποίηση της Επικοινωνίας σε μη ασφαλή δίκτυα • Θεωρούμε ότι τα μηνύματα του πρωτοκόλλου μεταφέρονται σε ανασφαλή (ανοιχτά) δίκτυα. • Ο επιτιθέμενος μπορεί να έχει πλήρη έλεγχο των δεδομένων στο δίκτυο με δυνατότητα να αλλάξει, διαγράψει, εισάγει, ανακατευθύνει, αναδιατάξει και να επαναχρησιμοποιήσει παλιά ή παρόντα μηνύματα και να παρεμβάλει νέα μηνύματα. • Ο επιτιθέμενος μπορεί να συνδυάσει μη ύποπτα εγκεκριμένα μέλη ξεκινώντας νέες εκτελέσεις του πρωτοκόλλου.

  17. Στρατηγικές επιτιθέμενων σε Πρωτόκολλα Εγκαθίδρυσης Κλειδιού • Συμπεραίνει ένα session key χρησιμοποιώντας πληροφορίες που αποκτά κρυφακούοντας. • Συμμετέχει κρυφά σε ένα πρωτόκολλο ξεκινώντας από ένα μέλος προς ένα άλλο επηρεάζοντάς τα. • Ξεκινά μία ή περισσότερες εκτελέσεις πρωτοκόλλων και συνδυάζει μηνύματα αυτών ώστε να μεταμφιεσθεί σε ένα άλλο μέλος ή να εκτελέσει μία από τις παραπάνω επιθέσεις. • Χωρίς να μπορεί να συμπεράνει το ίδιο το κλειδί εξαπατά ένα νόμιμο μέλος όσον αφορά την ταυτότητα ενός μέλους με το οποίο μοιράζεται το κλειδί.

  18. Διαχωρισμός των επιτιθέμενων με βάση το είδος της πληροφορίας που αυτοί κατέχουν • Εξωτερικός-Outsider (δεν έχει καμία ιδιαίτερη γνώση εκτός από τις γενικά διαθέσιμες μέσω λαθρακοής ή ανοικτού καναλιού. • Εσωτερικός-Insider (έχει πρόσβαση σε επιπλέον πληροφορίες που αποκτήθηκαν με κάποια πρόσθετα μέσα, όπως ένα μυστικό κλειδί) • One-time insider (αποκτά πληροφορία κάποια στιγμή για να την χρησιμοποιήσει κάποια επόμενη χρονική στιγμή) • Permanent insider (έχει συνεχή πρόσβαση σε προνομιακή πληροφορία)

  19. Διανομή κλειδιού βασισμένη σε συμμετρική κρυπτογράφηση Διανομή ενός συγκεκριμένου κλειδιού επιλεγμένου a priori από ένα μέλος χρησιμοποιώντας συμμετρική κρυπτογραφία. Χωρίζονται σε πρωτόκολλα με ή χωρίς τη χρήση έμπιστου – trustedserver όπως φαίνεται στον πίνακα

  20. Διανομή συμμετρικού κλειδιού και παραγωγή χωρίς server (Ι) A) Point-to-point key update χρησιμοποιώντας συμμετρική κρυπτογράφηση Κάνει χρήση ενός μακροπρόθεσμου συμμετρικού κλειδιού K το οποίομοιράζονται a priori δύο μέλη A και Β. Το κλειδί αυτό (που διακινείται αρχικά μέσα από ένα ασφαλές κανάλι) χρησιμοποιείται επανειλημμένα για να εγκαθιδρυθούν νέα session keys W. Επεξήγηση rA : τυχαίος αριθμός, παράγεται από τον Α tA : timestamp, παράγεται από τον Α nA, nB : αριθμός ακολουθίας, παράγονται από από τον Α και τον Β αντίστοιχα Ε : συμμετρικός αλγόριθμος κρυπτογράφησης Προαιρετικά πεδία του μηνύματος δηλώνονται με *

  21. Διανομή συμμετρικού κλειδιού και παραγωγή χωρίς server (ΙΙ) • 1.Διανομή κλειδιού με ένα πέρασμα • Α→Β : ΕΚ(rA) (1) • Το session key που χρησιμοποιείται είναι το W= rAκαι οι Α και Β αποκτούν έμμεση πιστοποίηση κλειδιού. Επιπρόσθετα προαιρετικά πεδία που μπορεί να μεταφερθούν στο κρυπτογραφημένο μήνυμα είναι: • Ένα timestamp ή ένας αριθμός ακολουθίας που παρέχει «φρεσκάδα» στο Β(ένα πεδίο το οποίο περιέχει πλεονασμό και παρέχει έμμεση πιστοποίηση στο Β ή διευκολύνει την ανίχνευση τροποποίησης του μηνύματος) • Ένα αναγνωριστικό στόχου για να παρεμποδίσει την άμεση μη ανιχνεύσιμη επιστροφή (replay back)του μηνύματος στον Α. Οπότε • Α→Β : ΕΚ(rA, tA*,B*) (1΄) • Αν είναι επιθυμητό και τα δύο μέλη να συνεισφέρουν στο session key, ο Β μπορεί να στείλει στον Α ένα ανάλογο μήνυμα, με το session key να υπολογίζεται ως f(rA, rB). Επιλέγοντας την f να είναι μία μονόδρομη (one-way) συνάρτηση εμποδίζεται ο έλεγχος της τιμής του τελικού κλειδιού από κάθε μέλος ή από έναν επιτιθέμενο που αποκτά ένα από τα rA, rB.

  22. Διανομή συμμετρικού κλειδιού και παραγωγή χωρίς server (ΙΙΙ) 2. Διανομή κλειδιού με απάντηση σε πρόκληση Α ← Β : nB(1) Α→Β : ΕΚ(rA, nB, B*) (2) Το νέο session key που χρησιμοποιείται είναι το W= rA.. Το nB χρησιμεύει για «φρεσκάδα» αντί timestamp. Αν είναι επιθυμητό και τα δύο μέλη να συνεισφέρουν στο session key W, ο A εισαγάγει ένα εφάπαξ nA να προηγείται του nBκαι έτσι έχουμε και τρίτο μήνυμα: Α ← Β : nB(1) Α→Β : ΕΚ(rA, nA, nB, B*) (2) Α←Β : ΕΚ(rB, nA, nB, A*) (3)

  23. Συμμετρική διανομή κλειδιού και παραγωγή χωρίς server (IV) B) Διανομή κλειδιού χωρίς a priori διαμοιραζόμενα κλειδιά Αλγόριθμος του Shamir • Ο αλγόριθμος του Shamir επιτρέπει την εγκαθίδρυση κλειδιού μέσα από ένα ανοιχτό κανάλι χωρίς να απαιτεί ούτε διαμοιραζόμενα ούτε δημόσια κλειδιά. • Κάθε μέλος έχει μόνο ένα δικό του τοπικό συμμετρικό κλειδί. • Το πρωτόκολλο παρέχει προστασία μόνο από παθητικές επιθέσεις και δεν παρέχει πιστοποίηση. • Δύο μέλη χωρίς να μοιράζονται a priori υλικό κλειδιού καταλήγουν με ένα διαμοιραζόμενο μυστικό κλειδί ασφαλές απέναντι σε παθητικές επιθέσεις (όμοια με το πρωτόκολλο Diffie-Hellman που θα δούμε παρακάτω)

  24. Πρωτόκολλο Shamir (χωρίς κλειδί) ΠΕΡΙΛΗΨΗ: οι χρήστες Α και Β ανταλλάσσουν 3 μηνύματα σε ένα ανοικτό κανάλι. ΑΠΟΤΕΛΕΣΜΑ: το μυστικό Κ μεταφέρεται με ιδιωτικότητα (privacy) αλλά χωρίςπιστοποίηση (authentication ) από τον Α στον Β. 1. One-time setup (definition and publication of system parameters-ορισμόςκαιδημοσιοποίησητωνπαραμέτρωντουσυστήματος). (a) Επέλεξε και δημοσιοποίησε για κοινή χρήση ένα prime p επιλεγμένο έτσι ώστε ο υπολογισμός των discrete λογαρίθμων modulo p να είναι ανέφικτος. (b) Ο A και ο B επιλέγουν αντίστοιχα μυστικούς τυχαίους αριθμούς a, b, with 1 ≤ a, b ≤ p-2, ο καθένας πρώτοςμε p - 1. Υπολογίζουν αντίστοιχα τους αντίστροφους a-1 και b-1mod p - 1. 2. Protocol messages(μηνύματαπρωτοκόλλου). A → B : Ka mod p (1) A ← B : (Ka)b mod p (2) A → B : (Kab)a-1 mod p (3)

  25. Πρωτόκολλο Shamir’s (χωρίς κλειδί) II 3. Protocol actions. Εκτελεί τα ακόλουθα βήματα για κάθε απαιτούμενο διαμοιραζόμενο κλειδί. (a) Ο A επιλέγει ένα τυχαίο κλειδί K για διανομή στον B, 1 ≤ K ≤ p - 1. Ο A υπολογίζει Ka mod p και στέλνει στον Bτομήνυμα (1). (b) Ο B υψώνει σε δύναμη b (mod p) την ληφθείσα τιμή, και στέλνει στον A το μήνυμα(2). (c) Ο A υψώνει σε δύναμη a-1mod p – 1 (mod p) την ληφθείσα τιμή, «αναιρώντας» ουσιαστικά την προηγούμενη ύψωση σε δύναμη και παράγοντας Kb mod p. Ο A στέλνει το αποτέλεσμα στον B σαν μήνυμα(3). (d) Ο B υψώνει σε δύναμη b-1 mod p – 1 (mod p) τη ληφθείσα τιμή, παράγονταςτο νέο διαμοιραζόμενο κλειδί K mod p.

  26. Kerberos καισυναφήserver based πρωτόκολλα • Πρωτόκολλα διανομής κλειδιού που βασίζονται στη συμμετρική κρυπτογράφηση • Περιλαμβάνουν δύο μέλη Α και Β τα οποία επικοινωνούν μεταξύ τους και έναν έμπιστο server με τον οποίο μοιράζονται μακροπρόθεσμα pairwise μυστικά κλειδιά a priori. • Ο Server είτε : α) έχει το ρόλο ενός κέντρου διανομής κλειδιού (KDC) και παρέχει το session key είτε : β) εξυπηρετεί ως ένα κέντρο μετάφρασης κλειδιού (KTC) και κατασκευάζει ένα κλειδί επιλεγμένο από ένα μέλος διαθέσιμο σε ένα άλλο επανακρυπτογραφόντας (μεταφράζοντας) το.

  27. Πρωτόκολλο πιστοποίησης Kerberos • Το βασικό πρωτόκολλο περιλαμβάνει : τον Α (ο client), τον B (ο server και επαληθευτής) και τον Τ έναν έμπιστο server (ο server πιστοποίησης του Kerberos) • Αρχικά ο Α και ο Β δεν μοιράζονται κανένα μυστικό ενώ ο Τ μοιράζεται ένα μυστικό με τον καθέναν τους. • Προαιρετικά, ο Α και ο Β μοιράζονται ένα subkey που δεν ξέρει ο Τ. • Ο πρωταρχικός στόχος είναι να επαληθεύσει ο Β την ταυτότητα του Α. • Το πρωτόκολλο εκτελείται ως εξής : Ο Α ζητά από τον Τ κατάλληλα διαπιστευτήρια τα οποία θα του επιτρέψουν να πιστοποιήσει τον εαυτό του στον Β. Ο Τ παίζει το ρόλο ενός KDC επιστρέφοντας στον Α ένα session key κρυπτογραφημένο για τον Α και ένα εισιτήριο(ticket) κρυπτογραφημένο για τον Β. Τοεισιτήριοτο οποίο ο Α προωθεί στον Β περιέχει το session key και την ταυτότητα του Α. Αυτό επιτρέπει την πιστοποίηση του Α στον Β όταν συνοδεύεται με ένα κατάλληλο μήνυμα το οποίο δημιουργείται από τον Α και περιέχει ένα timestamp πρόσφατα κρυπτογραφημένο με το session key.

  28. Βασικό Πρωτόκολλο Πιστοποίησης Kerberos(απλοποιημένο για διδακτικούς λόγους) ΠΕΡΙΛΗΨΗ: Ο A αλληλεπιδρά με τον έμπιστο server T και με το μέλος B. ΑΠΟΤΕΛΕΣΜΑ: πιστοποίηση ταυτότητας του A στον B (προαιρετικά αμοιβαία), με εγκαθίδρυση κλειδιού. 1. Συμβολισμοί. Προαιρετικά αντικείμενα σημειώνονται με αστερίσκο(*). E είναι ένας συμμετρικός αλγόριθμος κρυπτογράφησης NAείναι ένα εφάπαξεπιλεγμένο από τον A TAείναι ένα timestamp από το τοπικό ρολόι του A. k είναι το session-key επιλεγμένο από τον T , ώστε να μοιραστεί από τον A και από τον B. L υποδηλώνειμία περίοδος ισχύος («χρόνος ζωής, lifetime»). 2. One-time setup. Ο A και ο T μοιράζονται ένα κλειδί KAT, ομοίως ο B και ο T μοιράζονται το KBT. Όρισε ticketB = EKBT(k,A,L), authenticator = Ek(A, TA,A*subkey). 3. Protocol messages. A → T : A,B,NA (1) A ← T : ticketB, EKAT (k,NA, L,B) (2) A → B: ticketB, authenticator (3) A ← B : Ek(TA, Β*subkey) (4) (προαιρετικά για αμοιβαία πιστοποίηση)

  29. Βασικό Πρωτόκολλο Πιστοποίησης Kerberos (απλοποιημένο) 4. Ενέργειες του πρωτοκόλλου. (a) Ο A παράγει ένα εφάπαξ (nonce)NAκαι στέλνει στον T το μήνυμα (1). (b) Ο T παράγει ένα νέο session key k, και ορίζει ένα χρόνο ζωής (lifetime L) για το εισιτήριο, αποτελούμενο από μία τελική χρονική στιγμή και μία προαιρετική αρχική χρονική στιγμή. Ο T κρυπτογραφεί το k, το ληφθένεφάπαξ, το χρόνο ζωής, και το ληφθέν identifier (B) χρησιμοποιώντας το κλειδί του Α. Ο T επίσης δημιουργεί ένα ασφαλές εισιτήριο, χρησιμοποιώντας το κλειδί του Β, που περιέχει το k, το ληφθέν identifier (A),και το χρόνο ζωής. Ο T στέλνειστον A το μήνυμα (2). (c) Ο A αποκρυπτογραφεί το χωρίς εισιτήριο μέρος του μηνύματος (2) χρησιμοποιώντας το KATγια να ανακτήσει τα: k, NA, lifetime L, και τον identifierτου B για τοn οποίοn το εισιτήριο δημιουργήθηκε. Ο A επαληθεύει ότιαυτός ο identifier και το NAταιριάζουν με αυτά που στάλθηκαν στο μήνυμα (1), και σώζει το L για αναφορά . Ο A παίρνει τον δικό του identifier και ένα φρέσκο timestamp TA, προαιρετικά παράγει ένα μυστικό Asubkey, και τα κρυπτογραφεί χρησιμοποιώντας το k ώστε να σχηματίσει το πιστοποιητικό. Ο A στέλνει στον B το μήνυμα (3).

  30. Βασικό Πρωτόκολλο Πιστοποίησης Kerberos (απλοποιημένο) 4. Ενέργειες του πρωτοκόλλου (συνέχεια). (d) Ο B λαμβάνει το μήνυμα (3), αποκρυπτογραφεί το εισιτήριο χρησιμοποιώντας το KBTανακτώντας το k που του επιτρέπει την αποκρυπτογράφηση του πιστοποιητικού. Ο B ελέγχειότι: i. τα πεδία του identifier του (A) στο ticket και στο πιστοποιητικό ταιριάζουν. ii. το timestamp TAστο πιστοποιητικόείναιέγκυροκαι iii. Η τοπική ώρα του B είναι εντός του L που καθορίστηκε στο εισιτήριο. Αν όλοι οι έλεγχοι περάσουν, ο B δηλώνει την πιστοποίηση του A ως επιτυχής, και σώζει το Asubkey (αν υπάρχει) όπως απαιτείται. (e) Προαιρετικά, για αμοιβαία πιστοποίηση οντότητας ο Β φτιάχνει και στέλνει στον Α το μήνυμα (4) που περιέχει το timestamp του Α από το πιστοποιητικό (ειδικά αποκλείοντας τον identifier A, για να το ξεχωρίσει από το πιστοποιητικό) κρυπτογραφώντας το με το k. Προαιρετικά ο Β περιλαμβάνει και ένα subkey που θα του επιτρέψει να διαπραγματευθεί ένα κλειδί υποσυνόδου (session). (f) Προαιρετικά, για αμοιβαία πιστοποίηση οντότητας ο A αποκρυπτογραφεί το μήνυμα (4) και ελέγχει εάν το timestamp είναι αυτό που έστειλε στο μήνυμα (3) και έτσι δηλώνει επιτυχή την πιστοποίηση της οντότητας Β (και σώζει το Βsubkeyεάν υπάρχει.

  31. Περίληψη: Basic Kerberos authentication protocol

  32. Πρωτόκολλο διαμοιραζόμενου κλειδιού Needham-Schroeder • Αποτελεί τη βάση για πολλά πρωτόκολλα πιστοποίησης βασισμένα σε server και πρωτόκολλα διανομής κλειδιού που προτάθηκαν από το 1978. • Αποτελεί παράδειγμα πρωτοκόλλου το οποίο είναι : ανεξάρτητο από timestamps, παρέχει τόσο εγγυήσεις πιστοποίησης ταυτότητας όσο και εγκαθίδρυση κλειδιού με επιβεβαίωση του κλειδιού. Διαφορές μεταξύ τπυ πρωτοκόλλου Needham-Schroeder και του Kerberos • Η παράμετρος lifetime του Kerberos δεν υπάρχει στο Needham-Schroeder • Τα δεδομένα του μηνύματος (3) τα οποία ανταποκρίνονται στο «εισιτήριο» του Kerberos είναι διπλά κρυπτογραφημένα στο Needham-Schroeder χωρίς αυτό να είναι αναγκαίο • Η πιστοποίηση χρησιμοποιεί εφάπαξπαρά timestamps

  33. Πρωτόκολλο διαμοιραζόμενου κλειδιού Needham-Schroeder ΠΕΡΙΛΗΨΗ: Ο A αλληλεπιδρά με έναν έμπιστο T και με ένα μέλος B. ΑΠΟΤΕΛΕΣΜΑ: πιστοποίηση ταυτότητας (A με B), εγκαθίδρυση κλειδιού με επιβεβαίωση κλειδιού. 1. Σημείωση. E είναι ένα συμμετρικός αλγόριθμος κρυπτογράφησης. NAκαι NBείναι εφάπαξεπιλεγμένα από τον A και τον B, αντίστοιχα. Το k είναι ένα session key επιλεγμένο από τον έμπιστο server T για να μοιραστούν οι A και B. 2. One-time setup. Ο A και ο T μοιράζονται ένα συμμετρικό κλειδί KAT, ο B και ο T μοιράζονται το KBT . 3. Μηνύματα του πρωτοκόλλου. A → T : A, B, NA (1) A ← T : EKAT(NA, B, k, EKBT (k, A)) (2) A → B : EKBT (k,A) (3) A ← B : Ek(NB) (4) A → B : Ek(NB - 1) (5) 4. Ενέργειεςτουπρωτοκόλλου. Εκτός από την επαλήθευση των εφάπαξ, οι ενέργειες είναι ουσιαστικά ανάλογες με αυτές στο πρωτόκολλο Kerberos, και εδώ δεν αναφέρονται λεπτομερώς.

  34. Πρωτόκολλο Otway-Rees • Βασισμένο σε server πρωτόκολλο το οποίο παρέχει διανομή πιστοποιημένου κλειδιού σε 4 μόνο μηνύματα • Μηνύματα ίδια με αυτά του Kerberos αλλά χωρίς την απαίτηση timestamps • Δεν παρέχει πιστοποίηση ταυτότητας ή επαλήθευση κλειδιού

  35. Πρωτόκολλο Otway-Rees ΠΕΡΙΛΗΨΗ: Ο Β αλληλεπιδρά με έναν έμπιστο T και με ένα μέλος Α. ΑΠΟΤΕΛΕΣΜΑ: εγκαθίδρυση ανανεωμένου μυστικού κλειδιού K μεταξύ A και B. 1. Σημείωση. E είναι ένα συμμετρικός αλγόριθμος κρυπτογράφησης. k είναι ένα session key το οποίο ο T παράγει για να μοιραστούν οι A και B. NAκαι NBείναι εφάπαξ επιλεγμένα από τον A και τον B, αντίστοιχα , ώστε να επιτρέψουν την επαλήθευση της ανανέωσης του κλειδιού (thereby detecting replay). Το M είναι ένα δεύτερο εφάπαξ επιλεγμένο από τον A που εξυπηρετεί σαν identifier δοσοληψίας. 2. One-time setup. Ο T μοιράζεται τα συμμετρικά κλειδιά KATκαι KBTμε τους A, B, αντίστοιχα. 3. Μηνύματα Πρωτοκόλλου. A → B : M,A, B, ΕKAT (NA, M, A, B) (1) B → T : M,A, B,EKAT (NA, M, A, B), EKBT (NB, M, A, B) (2) B ← T : EKAT (NA, k), EKBT (NB, k) (3) A ← B : EKAT (NA, k) (4)

  36. Πρωτόκολλο Otway-Rees 4. Ενέργειες Πρωτοκόλλου. (a) ο Α κρυπτογραφεί δεδομένα για τον server που περιέχουν δύο εφάπαξ,NAκαι M, και τις ταυτότητες του εαυτού του και του B στον οποίο επιθυμεί να διανείμει ο server ένα κλειδί. Ο A στέλνει αυτά μαζί με κάποιο plaintextστον B σαν μήνυμα (1). (b) ο B δημιουργεί το δικό του NBκαι ένα ανάλογο κρυπτογραφημένο μήνυμα και το στέλνει μαζί με το μήνυμα του Α στον Τ σαν μήνυμα (2). (c) ο T χρησιμοποιεί το cleartext identifiers στο μήνυμα (2) για να ανακτήσει το KATκαι το KBT , μετά επαληθεύει ότι το cleartext (M A, B) ταιριάζει με αυτό που ανακτήθηκε από την αποκρυπτογράφηση και των δυο μερών του μηνύματος (2). Αν ταιριάζει,ο T εισάγει ένα νέο κλειδί k και τα αντίστοιχα εφάπαξ στα διαφορετικά μηνύματα κρυπτογραφημένα για τους A και B, και στέλνει και τα δυο στον Β σαν μήνυμα (3). (d) ο B αποκρυπτογραφεί το δεύτερο μέρος του μηνύματος (3), ελέγχει αν το NBταιριάζει με αυτό του μηνύματος (2), και αν ναι στέλνει το πρώτο μέρος στον Α σαν μήνυμα (4). (e) ο A αποκρυπτογραφεί το μήνυμα (4) και ελέγχει αν το NAταιριάζει με αυτό του μηνύματος (1).

  37. Συμφωνία Κλειδιού βασισμένη σε Συμμετρικές Τεχνικές • Ορισμός : Ένα Σύστημα Διανομής Κλειδιού (key distribution system – KDS) είναι μία μέθοδος δια μέσου της οποίας, κατά τη διάρκεια ενός σταδίου αρχικοποίησης, ένας έμπιστος server παράγει και διανέμει μυστικές τιμές δεδομένων (κομμάτια – pieces) σε χρήστες, έτσι ώστε κανένα ζευγάρι χρηστών να μπορεί να υπολογίσει στη συνέχεια ένα κοινό (shared) κλειδί άγνωστο σε όλους τους υπόλοιπους χρήστες (εκτός του server). • Σε ένα τετριμμένο KDS ο έμπιστος server διαλέγει διακριτά κλειδιά για κάθε ζεύγοςμεταξύ n χρηστών και με κάποιο ασφαλές μέσο μοιράζει αρχικά σε κάθε χρήστη n – 1 κλειδιά κατάλληλα ονοματισμένα. Αυτό προσφέρει άνευ όρωντέλεια ασφάλεια, όμως απαιτεί μεγάλη μνήμη!

  38. Συμφωνία Κλειδιού βασισμένη σε Συμμετρικές Τεχνικές • Ορισμός : Ένα KDS ονομάζεται j-ασφαλές εάν, δεδομένου ενός συγκεκριμένου ζεύγους χρηστών, οποιοσδήποτε συνδυασμόςσυμμαχίας j το πλήθος άλλων χρηστών (ξένων προς το ζευγάρι) βάζοντας μαζί τα κομμάτια τους, να μην μπορεί να υπολογίσει κατά καλλίτερο τρόπο το κοινό κλειδί του ζευγαριού απ’ ό,τι ένας χρήστης που μαντεύει το κλειδί χωρίς να έχει στην κατοχή του κομμάτια. • Συνεπώς ένα j-ασφαλέςKDS είναι άνευ όρων ασφαλές έναντι συμμαχιών μεγέθους j ή μικρότερου. • Γεγονός: (όριο του Blom για KDS) Εάν ένα οποιοδήποτε j-ασφαλές KDS παρέχει m-bit κατά ζεύγη session keys τα κρυφά δεδομένα τα οποία αποθηκεύει ο κάθε χρήστης πρέπει να είναι το λιγότερο m.(j+1) bits. • Ένα τετριμμένο KDS είναι συνεπώς βέλτιστο σε σχέση με τον αριθμό των bits των μυστικών κλειδιών που αποθηκεύονται, υποθέτοντας τη συμμαχία όλων των υπόλοιπων μελών εκτός του ζεύγους. Στην περίπτωση αυτή το κατώτατο όριο του Blom ισχύει για j = n-2.

  39. Σύστημα Προδιανομής Κλειδιού του Blom • Είναι ένα KDS που μπορεί να χρησιμοποιηθεί για να ικανοποιήσει το κάτω όριο του θεωρήματος για τιμές j < n – 2. • Κάθε μέλος χρειάζεται μόνο ένα δείκτη i με 1 ≤ i ≤ n ο οποίος προσδιορίζει μοναδικά το μέλος εκείνο με το οποίο πρόκειται να σχηματίσει το κοινό κλειδί. • Σε κάθε χρήστη εκχωρείται ένα μυστικό διάνυσμα ως βάση κλειδιών από το οποίο μπορεί μετά να υπολογίσει ένα ανά ζεύγη secret (παραγόμενο κλειδί) με κάθε άλλο χρήστη. • Το σχήμα του Blom βασίζεται σε (n, k) κώδικες μέγιστης απόστασης διαχωρισμού (MDS)και είναι j-ασφαλές για j≤ k – 1 και συνεπώς με βάση το Γεγονός είναι βέλτιστος σε ό,τι αφορά το απαιτούμενο αρχικό υλικό κλειδιών. • Οικονομία στη μνήμη γίνεται εάν k < n. • Όμως τα κλειδιά δεν είναι στατιστικά ανεξάρτητα

  40. Σύστημα Προδιανομής Συμμετρικού Κλειδιού του Blom ΠΕΡΙΛΗΨΗ: σε κάθε έναν από τους n χρήστες δίνεται αρχικό υλικό κλειδιών και δημόσια δεδομένα. ΑΠΟΤΕΛΕΣΜΑ: κάθε ζεύγος χρηστών Ui, Ujμπορεί να υπολογίσει ένα m-bit ανά ζεύγη μυστικό κλειδί Ki,j . 1. Ένας k x n πίνακας γεννήτορας (generator matrix) G ενός (n, k) MDSκώδικα πάνω σε ένα πεπερασμένου πεδίου Fqτάξης q γίνεται γνωστός σεόλους τους n χρήστες του συστήματος. 2. Ένα έμπιστο μέλος T δημιουργεί ένα τυχαίο μυστικό συμμετρικό πίνακα k x k D πάνω στο Fq. 3. Ο T δίνει σε κάθε χρήστη Uiτο μυστικό κλειδί Si, που ορίζεται ως ηγραμμή i του n x k πίνακα S = (DG)T (ο Siείναι μια k-άδαστο Fq με k •lοg(q) bits, που επιτρέπει στον Uiνα υπολογίζει οποιοδήποτε στοιχείο στηγραμμή i του (DG)TG). 4. Οι χρήστες Uiκαι Ujυπολογίζουν το κοινό μυστικό Ki,j = Kj,iμε μήκος bit m = lοg(q) ως εξής: χρησιμοποιώντας τον Siκαι τη στήλη j του G, ο Uiυπολογίζει τo (i, j) στοιχείο του nxn συμμετρικού πίνακα K = (DG)TG.Χρησιμοποιώντας τον Sj και τη στήλη i του G, ο Uj υπολογίζει με παρόμοιοτρόπο το (j, i) στοιχείο (που είναι ίσο με το (i, j) στοιχείο αφού ο K είναισυμμετρικός).

  41. Σύστημα Προδιανομής Συμμετρικού Κλειδιού του Blom Υπόβαθρο για (n, k) MDS κώδικες (Maximum Distance Separable-Μέγιστης Απόστασης Διαχωρισμού) • Έστω G=[Ik A] ένας k x n πίνακαςόπου κάθε σειρά του είναι είναι μια n-άδα στο Fq, με q πρώτο ή δύναμη πρώτου αριθμού. Ιk είναι ο k x k μοναδιαίος πίνακας. Το σύνολο των n-άδων που παράγονται με γραμμικούς συνδιασμούς (στο Fq ) των σειρών του G είναι ο γραμμικός κώδικας C. Κάθε μια από τις qkn-άδεςείναι μια κωδική λέξη και το C ισούται με • C = {c: c = mG, m = (m1m2…mk), mi Fq} • O G είναι ο γεννήτορας πίνακας για τον γραμμικό (n, k) κώδικα C. • Η απόσταση μεταξύ δύο κωδικών λέξεων c και c’ είναι ο αριθμός των στοιχείων στα οποία διαφέρουν. Η απόσταση d του κώδικα είναι η ελάχιστη τέτοια απόσταση μεταξύ όλων των ζευγών κωδικών λέξεων. • Ένας κώδικας με απόσταση d μπορεί να διορθώσει e = (d – 1 ) /2 λάθη. • Για γραμμικούς κώδικες ισχύει d n – k + 1 (όριο Singleton). • Κώδικες με όριο d = n – k + 1 έχουν την μεγαλύτερη δυνατή απόσταση για δεδομένα n και k και καλούνται κώδικες μέγιστης απόστασης διαχωρισμού.

  42. Διανομή κλειδιού με χρήσηαλγορίθμου Δημοσίου κλειδιού • Δημιουργία • συμμετρικού κλεδιού Αποστολέας A Παραλήπτης B 3. Αποστολή του συμμετρικού κλειδιού (κρυπτογραφημένου) 2. Κρυπτογράφηση Του κλειδιού με το Δημόσιο Κλειδί του B 4. Αποκρυπτογράφηση του συμμετρικού κλειδιού, με χρήση του κλειδιού του B 5. Χρήση του συμμετρικού κλειδιού για κρυπτογράφηση του μηνύματος

  43. Διανομή κλειδιού βασισμένη σε κρυπτογράφηση δημόσιου κλειδιού • Εμπλέκει ένα μέλος το οποίο επιλέγει το συμμετρικό κλειδί και το μεταφέρει στο άλλο μέλος , το οποίο χρησιμοποιεί το δημόσιο κλειδί κρυπτογράφησης του πρώτου • Εξασφαλίζει πιστοποίηση κλειδιού στον δημιουργό χωρίς να χρειάζεται ο ίδιος να διασφαλίσει πιστοποίηση ταυτότητας χρήστη ή επαλήθευση κλειδιού. • Το δεύτερο μέλος δεν λαμβάνει πιστοποίηση πηγής.

  44. Διανομή κλειδιού βασισμένη σε κρυπτογράφηση δημόσιου κλειδιού (Public Key, PK) Οι διασφαλίσεις πιστοποίησης μπορούν να χορηγηθούν με ή χωρίς τη χρήση ψηφιακών υπογραφών ως εξής : 1.Πιστοποίηση ταυτότητας χρήστη μέσω αποκωδικοποίησης δημόσιου κλειδιού Ο προτεινόμενος αποδέκτης πιστοποιείται επιστρέφοντας κάποια τιμή που μεταβάλλεται με το χρόνο που ο ίδιος μπορεί να παράγει ή να ανακτήσει. Αυτό μπορεί να επιστρέψει πιστοποίηση τόσο της ταυτότητας χρήστη όσο και του μεταφερόμενου κλειδιού. 2. Ακεραιότητα δεδομένωνμέσω ψηφιακών υπογραφών Η κρυπτογράφηση του δημόσιου κλειδιού συνδυάζεται με μια ψηφιακή υπογραφή, εξασφαλίζοντας διανομή κλειδιού με διασφαλίσεις ταυτότητας πηγής (source identity)

  45. Πρωτόκολλα διανομής κλειδιού βασισμένα σε PK κρυπτογραφία

  46. Διανομή κλειδιού χρησιμοποιώντας PK κρυπτογράφηση χωρίς υπογραφές Διανομή κλειδιού ενός βήματος με κρυπτογράφηση δημόσιου κλειδιού • Κατάλληλη για μονόδρομες επικοινωνίες, όπως είναι το email & fax • Ο δημιουργός Α κατέχει a priori ένα αυθεντικό αντίτυπο του δημόσιου κλειδιού κρυπτογράφησης του προτεινόμενου αποδέκτη Β. Χρησιμοποιώντας το δημόσιο κλειδί κρυπτογράφησης του Β, ο Α κρυπτογραφεί ένα τυχαίως παραγόμενο κλειδί k, και στέλνει το αποτέλεσμα PB(k) στον Β (PBμπορεί να είναι μια συνάρτηση δημόσιας κρυπτογράφησης, όπως του RSA, Rabin, ElGamal, etc). • O δημιουργός Α δεν λαμβάνει πιστοποίηση ταυτότητας από τον αποδέκτη Β αλλά βεβαιώνεται για έμμεση πιστοποίηση κλειδιού – κανένας εκτός από τον Β δε θα μπορούσε να ανακτήσει το κλειδί. Από την άλλη ο Β δεν έχει καμία διασφάλιση όσον αφορά την πηγή του κλειδιού, το οποίο παραμένει αληθές ακόμα και στην περίπτωση που ο Α στέλνει το μήνυμα Α -> Β : PB(k,Α) !

  47. Πρωτόκολλα που συνδυάζουν PK κρυπτογράφηση χωρίς υπογραφές Πρωτόκολλο δημόσιου κλειδιού Needham-Schroeder • Παρέχει αμοιβαία πιστοποίηση ταυτότητας χρήστη και αμοιβαία διανομή κλειδιού(ο Α και ο Β μεταβιβάζουν ένα συμμετρικό κλειδί ο καθένας στον άλλο). • Τα μεταφερόμενα κλειδιά μπορεί να εξυπηρετούν και τους δυο ειδικά για πιστοποίηση ταυτότητας και κρυφού κλειδιού για περαιτέρω χρήση. • Ο συνδυασμός των παραγόμενων κοινών κλειδιών επιτρέπει τον υπολογισμό ενός κοινού κλειδιού στο οποίο και τα δυο μέλη συμβάλουν.

  48. Πρωτόκολλο δημόσιου κλειδιού Needham-Schroeder ΣΥΝΟΨΗ: Ο Α και ο Β ανταλλάσσουν 3 μηνύματα. ΑΠΟΤΕΛΕΣΜΑ: πιστοποίηση ταυτότητας χρήστη, πιστοποίηση κλειδιού και διανομή κλειδιού (όλα αμοιβαία) 1.Συμβολισμοί:Το PX(Y) δηλώνει κρυπτογράφηση δημόσιου κλειδιού (e.g. RSA) των δεδομένων Υ χρησιμοποιώντας το δημόσιο κλειδί του μέλους Χ . Το ΡΧ(Υ1,Υ2) δηλώνει κρυπτογράφηση της αλληλουχίας του Υ1 και Υ2. k1 ,k2 είναι κρυφά συμμετρικά κλειδιά συνόδου επιλεγμένα από τους Α, Β αντίστοιχα. 2.One-time setup Θεωρούμε ότι οι Α, Β κατέχουν ο καθένας το αυθεντικό δημόσιο κλειδί του άλλου. 3.Μηνύματα πρωτοκόλλου Α -> Β : ΡΒ(k1,Α) (1) Α <- Β : ΡA(k1,k2) (2) Α -> Β : ΡΒ(k2) (3) 4.Ενέργειες πρωτοκόλλου (α) Ο Α στέλνει ένα μήνυμα στον Β (1) (β) Ο Β ανακτά το k1 λαμβάνοντας το μήνυμα (1), και επιστρέφει στον Α το μήνυμα (2) (γ) Όταν αποκρυπτογραφήσει το μήνυμα (2) ο Α ελέγχει αν το ανακτημένο κλειδί k1συμφωνεί με αυτό που στάλθηκε στο μήνυμα (1). Ο Α στέλνει στον Β το μήνυμα (3). (δ) Όταν αποκρυπτογραφήσει το μήνυμα (3) ο Β ελέγχει αν το ανακτημένο κλειδί k2συμφωνεί με αυτό που στάλθηκε στο μήνυμα (2).

  49. Πρωτόκολλα που συνδυάζουν PK κρυπτογράφηση και υπογραφές Τα πρωτόκολλα διανομής κλειδιού που συνδυάζουν κρυπτογράφησηδημόσιου κλειδιού και υπογραφές περιλαμβάνουν: • αυτά που υπογράφουν το κλειδί και μετά κρυπτογραφούν δημόσια το υπογεγραμμένο κλειδί. • αυτά που υπογράφουν το κλειδί και ξεχωριστά κρυπτογραφούν το (μη υπογεγραμμένο ) κλειδί. • αυτά που κρυπτογραφούν δημόσια το κλειδί ναι μετά υπογράφουν το κρυπτογραφημένο κλειδί • αυτά που χρησιμοποιούν συμμετρική κρυπτογράφηση επιπρόσθετα της κρυπτογράφησης δημόσιου κλειδιού και των υπογραφών .

  50. 1. Κρυπτογραφώντας υπογεγραμμένα κλειδιά • Μια επιλογή για το συνδυασμό υπογραφών και κρυπτογράφησης δημοσίου κλειδιού είναι να κρυπτογραφήσεις υπογεγραμμένα κλειδιά : Α -> Β : ΡΒ(k, tA*, SA(B, k, tA* )) • Ο αστερίσκος δηλώνει ότι το timestamp tAτου Α είναι προαιρετικό. Ο αναγνωριστής (identifier) Β μέσα στην εμβέλεια της υπογραφής εμποδίζει τον Β από το να στείλει το υπογεγραμμένο κλειδί σε κάποιο άλλο μέλος και να υποδυθεί τον Α. Ένα μειονέκτημα αυτής της μεθόδου έναντι της εναλλακτικής «υπογράφοντας κρυπτογραφημένα κλειδιά» είναι ότι εδώ τα δεδομένα για να κρυπτογραφηθούν με δημόσιο κλειδί είναι μεγαλύτερα υπονοώντας την πιθανή ανάγκη για ρύθμιση του block size του σχήματος κρυπτογράφησης με δημόσιο κλειδί, ή τη χρήση τεχνικών όπως το cipher-block-chaining. Στην περίπτωση των σχημάτων υπογραφών με ανάκτηση του μηνύματος (π.χ. RSA) το παραπάνω μπορεί να απλοποιηθεί στο : Α -> Β : ΡΒ( SA(B, k, tA* ))

More Related