Εισαγωγή στην Κρυπτογραφία Πιστοποίηση μηνύματος (Message authentication) - Πιστοποίηση ταυτότητας αποστολέα (Entity authentication)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αλγόριθμοι σχεδίασης βασικών 2D σχημάτων (ευθεία)
Advertisements

Γραφήματα & Επίπεδα Γραφήματα
Απόστολος Πλεξίδας Περιφέρεια Κεντρικής Μακεδονίας
Απαντήσεις Προόδου II.
Στόχοι Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες τους. Να περιγράψουμε.
Πιθανοκρατικοί Αλγόριθμοι
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
ΕΙΣΑΓΩΓΗ ΣΤΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
Η Μέθοδος RSA  Υποθέτουμε πως δυο άτομα ο Α και ο Β θέλουν να ανταλλάξουν μεταξύ τους κάποιο μήνυμα Μ, το οποίο θέλουν να κρυπτογραφήσουν για λόγους ασφαλείας.
1 iPac Μια πρώτη γνωριμία Κώστας Βίγλας ΥΚΒ. 26/6/2002 Ενημέρωση πάνω στις νέες ψηφιακές υπηρεσίες 2 Περιεχόμενα 1 iPac  Τί είναι το iPac  Δυνατότητες.
Μέθοδοι Υδατοσήμανσης για την Προστασία της Πνευματικής Ιδιοκτησίας
Ανάλυση του λευκού φωτός και χρώματα
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Αναγνώριση Προτύπων.
Ζητήματα Κρυπτογραφίας- Κέρβερος
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Henric Johnson1 Κεφάλαιο 3 Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση αυθεντικότητας μηνυμάτων Henric Johnson Blekinge Institute of Technology, Sweden.
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
HY 120 ΨΗΦΙΑΚΗ ΣΧΕΔΙΑΣΗ Ασυγχρονα ακολουθιακα κυκλωματα.
1 Content Addressable Network Λίλλης Κώστας Καλλιμάνης Νικόλαος Αγάθος Σπυρίδων – Δημήτριος Σταθοπούλου Ευγενία Γεωργούλας Κώστας.
Ανάλυση Πολλαπλής Παλινδρόμησης
Ηλεκτρονική Ενότητα 5: DC λειτουργία – Πόλωση του διπολικού τρανζίστορ
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Τμήμα Αρχειονομίας- Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Εισαγωγή στη Κρυπτογραφία
Ασφάλεια δικτύων.
Ασφάλεια στο Διαδίκτυο Τεχνολογίες Διαδικτύου National Technical University of Athens.
1 T.Ε.Ι. ΠΕΙΡΑΙΑ Τ ΜΗΜΑ Η/Υ Σ ΥΣΤΗΜΑΤΩΝ ΟΜΑΔΑ ΜΑΘΗΜΑΤΩΝ μΥ/Σ Εργαστήριο Περιφερειακών Μονάδων και Δικτύων Η/Υ PeLAB ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Σπουδαστής : ΓΚΑΔΟΛΟΣ.
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος Εξάμηνο: Η’ Ασφάλεια Πληροφοριακών Συστημάτων Ενότητα Γ: Απομακρυσμένη Αυθεντικοποίηση.
Εισαγωγή στην Κρυπτογραφία Πιστοποίηση μηνύματος (Message authentication) - Πιστοποίηση ταυτότητας αποστολέα (Entity authentication)
Cryptography and Network Security Chapter 9
Επικοινωνίες δεδομένων
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Διαχείριση Συναλλαγών Πάνος Βασιλειάδης Μάρτιος 2014
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
Διαχείριση Ψηφιακών Πνευματικών Δικαιωμάτων Ηλεκτρονική Δημοσίευση Στέλλα Λάμπουρα Ιούνιος 2004.
Υπηρεσίες Ακεραιότητας και Αυθεντικοποίησης
Άσκηση 6 Ασφάλεια Δικτύων.
Ασφάλεια Δικτύων (Computer Security). Τι Εννοούμε με τον Όρο Ασφάλεια Δικτύων; Ασφάλεια  Μόνο ο αποστολέας και ο προοριζόμενος παραλήπτης μπορούν να.
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
ΠΜΣ 36 / 2007 Δρ. Μαριάς Ιωάννης 1 ΠΜΣ36 Ασφάλεια Πληροφοριακών Συστημάτων Αν. Καθ. Π. Γεωργιάδης Δρ. Μαριάς Ιωάννης Υπ. Δρ. Παπαπαναγιώτου Κωνσταντίνος.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Internet & Ηλεκτρονικό Εμπόριο Μάϊος 2001 NETMODE Network Management & Optimal Design Lab.
Ασφάλεια Δικτύων. “Αγαθά” πληροφοριακού συστήματος Δεδομένα Πληροφορίες Υπολογιστικοί πόροι.
Κρυπτογραφία Ψηφιακά Πιστοποιητικά
Φεβρουάριος 2004Οικονομικό Πανεπιστήμιο Αθηνών 1 Ιδιωτική και Ανώνυμη Αυθεντικοποίηση Χρήστη σε Κινητά Δίκτυα Σανίνας Κωνσταντίνος Επιβλέπων καθηγητής:
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Ροές Δεδομένων (3 ο Μέρος)
Εισαγωγή στην Κρυπτογραφία Εργαστηριακό σεμινάριο Άνοιξη 2007.
Κρυπτογραφία Η επιστήμη της κρυπτογραφίας αποτελεί το σύνολο των τεχνικών και των εφαρμογών μέσω των οποίων προστατεύεται η πληροφορία που ανταλλάσσεται.
S/MIME Στα πρώτα στάδια ανάπτυξης η εφαρμογή υποστήριζε αποκλειστικά τη μεταφορά κειμένου μεταξύ των χρηστών Το πρωτόκολλο MIME (Multipurpose Internet.
Β. Μάγκλαρης 14/11/2016 ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Διαχείριση Ασφαλείας (Ι) Απειλές Ασφαλείας Δημόσια & Ιδιωτικά Κλειδιά.
Προχωρημένα Θέματα Δικτύων
Δυναμικός Κατακερματισμός
Secure Sockets Layer (SSL)
Διδάσκων: Δρ. Γενειατάκης Δημήτρης
Λύσεις Ασφάλειας στο Επίπεδο Διασύνδεσης
Κεφάλαιο 7: Διαδικτύωση-Internet Μάθημα 7.9: Δρομολόγηση
Το μοντέλο πελάτη - εξυπηρετητή
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Εισαγωγή στην Κρυπτογραφία Πιστοποίηση μηνύματος (Message authentication) - Πιστοποίηση ταυτότητας αποστολέα (Entity authentication)

2 Επιπρόσθετες απαιτήσεις στην κρυπτογραφία Επιβεβαίωση ότι το μήνυμα που αποκρυπτογραφείται είναι το αυθεντικό (data integrity) Επιβεβαίωση ότι ο αποστολέας είναι αυτός που ισχυρίζεται (identification ή entity authentication)

3 Επιπρόσθετες απαιτήσεις στην κρυπτογραφία Data integrity : Τα δεδομένα δεν έχουν υποστεί αλλαγή από μη εξουσιοδοτημένα μέρη. Data origin authentication : Πιστοποίηση ότι τα δεδομένα έχουν προέλθει από μια συγκεκριμένη πηγή η οποία δεν έχει μεταβληθεί. Message authentication : Έμμεσα εξασφαλίζει και data origin authentication αφού αλλαγή του περιεχομένου του μηνύματος υπονοεί και αλλαγή της πηγής. Η Πιστοποίηση μηνύματος είναι απαραίτητη οποτεδήποτε έχουμε κίνδυνο από ηθελημένη ή αθέλητη τροποποίηση των δεδομένων. (πχ κανάλι με θόρυβο ή εσκεμμένη αλλαγή μηνύματος)

4 Πιστοποίηση μηνύματος (Message authentication) Στόχος: Προστασία έναντι «ενεργών» επιθέσεων  Τροποποίησης του περιεχομένου του μηνύματος  Τροποποίησης του συγχρονισμού και της αλληλουχίας της σειράς του μηνύματος (Timing and/or Sequencing modification) Μια τεχνική βασίζεται στις συναρτήσεις κατακερματισμού

5 Συναρτήσεις κατακερματισμού (hash functions) Συναρτήσεις κατακερματισμού : Είναι υπολογιστικά εφικτές συναρτήσεις που αντιστοιχίζουν σειρές bits μεταβλητού μεγέθους σε σειρές bits σταθερού μήκους. Oι συναρτήσεις κατακερματισμού βρίσκουν χρήση σε αρκετές εφαρμογές ( πχ κρυπτογραφία, διαχείριση αρχείων, κτλ ) Οι κυριότερες χρήσεις των συναρτήσεων κατακερματισμού στην κρυπτογραφία είναι  Ψηφιακές υπογραφές ( Digital signatures )  Ακεραιότητα δεδομένων ( Data integrity )  Πρωτόκολλα αναγνώρισης ( Identification protocols )

6 Συναρτήσεις κατακερματισμού (hash functions) Δέχονται είσοδο οσουδήποτε μήκους και παράγουν έξοδο σταθερού μήκους (ίσου ή μικρότερου του μεγέθους της εισόδου) – (συμπίεση) Η τιμή της συνάρτησης για οποιαδήποτε είσοδό της υπολογίζεται εύκολα Η συνάρτηση δεν είναι αντιστρεπτή (είναι δηλαδή μίας κατεύθυνσης) – για οποιοδήποτε y, δεν μπορεί να βρεθεί x ώστε h(x)=y. (αντίσταση προαπεικόνισης, preimage resistance) Δεν μπορεί να υπολογιστεί εναλλακτική είσοδος για να παραχθεί η ίδια έξοδος που δίνει μία άλλη δεδομένη είσοδος – με άλλα λόγια, για οποιοδήποτε δοθέν Μ, είναι υπολογιστικά δύσκολη η εύρεση M ' με την ιδιότητα h(M) = h(M ' ) (αντίσταση 2 ης προαπεικόνισης, 2 nd -preimage resistance) Δεν μπορούν να υπολογιστούν δύο διαφορετικές είσοδοι M, M’ που να δίνουν την ίδια έξοδο, δηλαδή h(M)=h(M’) (αντίσταση συγκρούσεων, collision resistance) Χωρίζονται σε δύο κατηγορίες – σε αυτές που υπεισέρχεται και κάποιο κλειδί στον υπολογισμό τους (keyed hash functions) και σε αυτές που όχι (unkeyed hash functions) Αν M το μήνυμα και H η συνάρτηση κατακερματισμού, τότε το H(M) αποκαλείται αποτύπωμα (fingerprint) ή σύνοψη του μηνύματος (Message Digest – MD)

7 Μία απλή συνάρτηση κατακερματισμού Bitwise-XOR Όχι καλή: Δεν ικανοποιεί το 2 nd preimage resistance.

8 Άλλα παραδείγματα συναρτήσεων κατακερματισμού Η συνάρτηση ελέγχου άθροισης mod-32 είναι εύκολα υπολογίσιμη, αλλά δεν έχει αντίσταση προαπεικόνισης, preimage h(x) = x 2 mod n, χωρίς να είναι γνωστή η παραγοντοποίηση n=pq του n. Δεν ικανοποιεί το 2 nd preimage resistance: για δοθέν x, προφανώς το –x δίνει την ίδια έξοδο. O DES (όπως και κάθε block αλγόριθμος) μπορεί να οδηγήσει σε συνάρτηση κατακερματισμού ως εξής:h(x) = E k (x)  x για γνωστό σταθερό κλειδί k. ‘Eχει αντίσταση προαπεικόνισης και αντίσταση 2 ης προαπεικόνισης, αλλά δεν παρέχει συμπίεση.

9 Επιπρόσθετες ιδιότητες των μονόδρομων συναρτήσεων κατακερματισμού 1.Μη-συσχέτισης: τα bit εισόδου και εξόδου δεν πρέπει να είναι συσχετισμένα 2.Αντίσταση κοντινής σύγκρουσης: θα πρέπει να είναι δύσκολο να βρεθούν δύο είσοδοι x, x’ ώστε οι h(x), h(x’) να διαφέρουν σε ένα μικρό πλήθος bits 3.Αντίσταση μερικής προαπεικόνισης (ή τοπική μονοδρομικότητα): θα πρέπει να είναι το ίδιο δύσκολο να ανακτήσουμε οποιαδήποτε υποσειρά χαρακτήρων, όσο και μια ολόκληρη είσοδο.

10 Κατηγορίες αλγορίθμων με συναρτήσεις κατακερματισμού – MDCs και MACs Κώδικες ανίχνευσης τροποποίησης (MDC - Modification Detection Codes)  Κατακερματισμός ενός μηνύματος έτσι ώστε να πληροί συγκεκριμένες ιδιότητες. Στόχος τους, σε συνδυασμό με άλλες τεχνικές, η εξασφάλιση της γνησιότητας του μηνύματος. Δεν υπεισέρχεται κανένα κλειδί Κώδικες πιστοποίησης μηνύματος (MAC - Message Authentication Codes)  Στόχος τους, χωρίς τη βοήθεια επιπρόσθετων τεχνικών, η εξασφάλιση τόσο της ακεραιότητας του μηνύματος όσο και της γνησιότητας της πηγής του μηνύματος. Στην είσοδό τους υπεισέρχεται επιπρόσθετα και ένα μυστικό κλειδί. Και στις δύο περιπτώσεις η συνάρτηση κατακερματισμού είναι δημοσίως γνωστή.

11 Κατηγορίες αλγορίθμων με συναρτήσεις κατακερματισμού – MDCs και MACs

12 Birthday attack Ανήκει στις επιθέσεις ωμής βίας. Είναι ανεξάρτητη του αλγορίθμου και μπορεί να εφαρμοστεί για εύρεση οποιασδήποτε συνάρτησης κατακερματισμού. Στηρίζεται στο μαθηματικό «παράδοξο των γενεθλίων». Σύμφωνα με αυτό αν μια συνάρτηση παράγει μία τιμή μεταξύ n διαφορετικών τιμών με την ίδια πιθανότητα και το n είναι αρκετά μεγάλο,τότε υπολογίζοντας την συνάρτηση για ένα πλήθος περίπου 1,2 √n διαφορετικών εισόδων περιμένουμε να βρούμε ένα ζεύγος εισόδων x1 και x2 τέτοια ώστε f(x1)=f(x2). Η προηγούμενη όμως παρατήρηση παραβιάζει το 2 nd preimage resistance ! «παράδοξο των γενεθλίων». Αν έχω σε ένα δωμάτιο 23 ανθρώπους τότε υπάρχει μεγάλη πιθανότητα δύο από αυτούς να έχουν γενέθλια την ίδια μέρα. Συγκεκριμένα αποδεικνύεται ότι η πιθανότητα αυτή (δεχόμενοι ότι έχουμε 365 διαφορετικές επιλογές ) είναι 0,507. Αν είχα 22 ανθρώπους στο δωμάτιο η αντίστοιχη πιθανότητα θα ήταν 0,059. Η πιθανότητα αυτή αυξάνει ραγδαία με το n, π.χ., για n=30 η πιθανότητα είναι 0,706. Γενικά P(m,n)=1-(m(m-1)…(m-n+1)/m n ). «Εφαρμογή» στην κρυπτογραφία Το παραπάνω εφαρμόζεται στην γενική του μορφή στις συναρτήσεις κατακερματισμού όπου ο αριθμός n των κατακερματισμών που μπορείς να κάνεις πριν πέσεις σε σύγκρουση είναι 2^(n/2) και όχι 2^n

13 H Birthday Attack του Yuval σε συναρτήσεις κατακερματισμού Επιθέσεις τετραγωνικής ρίζας: όταν επιλέγονται στοιχεία τυχαία, με αντικατάσταση από ένα σύνολο Ν στοιχείων, το επαναλαμβανόμενο στοιχείο θα συναντηθεί μετά από Ο(√Ν) επιλογές. Αλγόριθμος της Birthday Attack του Yuval Είσοδος: γνήσιο μήνυμα x 1, δόλιο μήνυμα x 2, m-bit μονόδρομη συνάρτηση κατακερματισμού h. Έξοδος: x 1 ’, x 2 ’ που προκύπτουν από μικρο-τροποποιήσεις των x 1, x 2 με h(x 1 ’)=h(x 2 ’) Έτσι η υπογραφή πάνω στο x 1 ’ χρησιμεύει ως υπογραφή πάνω στο x 2 ’ 1. Παράγετε t=2 m/2 μικρο-τροποποιήσεις x 1 ’ του x Κατακερματίστε κάθε τροποποιημένο μήνυμα x 1 ’ και αποθηκεύστε τις τιμές κατακερματισμού {x 1 ’, h(x 1 ’)}, ώστε να αναζητούνται μεταγενέστερα (σε χρόνο Ο(t) με συμβατό κατακερματισμό). 3. Παράγετε μικρο-τροποποιήσεις x 2 ’ του x 2, υπολογίζοντας το h(x 2 ’) για κάθε μια και ελέγχοντας για ταίριασμα με κάθε x 1 ’. Συνεχίστε μέχρι να βρεθεί κάποιο ταίριασμα (μετά από περίπου t υποψήφιες x 2 ’).

14 Εφαρμογή της Birthday Attack Η επίθεση αυτή μπορεί να χρησιμοποιηθεί από έναν ανέντιμο υπογράφοντα που παρέχει την υπογραφή του στο x 1 ’ σε ένα ανυποψίαστο άτομο και στη συνέχεια αρνείται ότι το υπέγραψε, ισχυριζόμενος ότι το μήνυμα που υπέγραψε ήταν το x 2 ’. Η επίθεση αυτή μπορεί επίσης να χρησιμοποιηθεί από έναν ανέντιμο επαληθευτή που μπορεί να πείσει ένα ανυποψίαστο άτομο να υπογράψει ένα προετοιμασμένο έγγραφο x 1 ’ και μετά να ισχυρίζεται ότι το άτομο υπέγραψε το x 2 ’. Η επίθεση αυτή γενικεύεται σε όλες τις περιπτώσεις στις οποίες ένα κατακερματισμένο μήνυμα h(m) περνιέται σαν το ίδιο το μήνυμα m.

15 Τρόποι πιστοποίησης μηνύματος Κλασική κρυπτογράφηση  Έγκειται στην ασφάλεια που παρέχει το κλειδί και μόνο (προϋποθέτει ότι κανείς τρίτος δεν διαθέτει το κλειδί) Message Authentication Code (MAC)  Χρήση αλγορίθμου κατακερματισμού, όπου υπεισέρχεται και κλειδί Συνάρτηση κατακερματισμού  Μία δημόσια συνάρτηση κατακερματισμού μετατρέπει το μήνυμα σε μία ετικέτα πιστοποίησης

16 Πιστοποίηση μηνύματος με χρήση MAC Σύγκριση μετάδοση ΑποστολέαςΠαραλήπτης μήνυμα

17 Ιδιότητες MAC Το μήνυμα είναι γνήσιο  Αν κάποιος «εισβολέας» τροποποιήσει το μήνυμα, θα φανεί στη σύγκριση που κάνει ο δέκτης Η πηγή του μηνύματος είναι γνήσια  Κανείς άλλος δεν έχει το ίδιο κλειδί για να δημιουργήσει το ίδιο MAC Εξασφαλίζεται η σωστή αλληλουχία του μηνύματος  Πρέπει να τοποθετείται timestamp στο μήνυμα, πριν τον υπολογισμό του MAC Οποιοσδήποτε κρυπτογραφικός αλγόριθμος (π.χ. DES) μπορεί να χρησιμοποιηθεί για τη δημιουργία του MAC

18 Πιστοποίηση μηνύματος με χρήση συνάρτησης κατακερματισμού (MDC) Μία συνάρτηση κατακερματισμού εφαρμόζεται στο μήνυμα – το αποτέλεσμα προστίθεται στο τέλος του μηνύματος και όλο το νέο μπλοκ κρυπτογραφείται και μεταδίδεται Ο δέκτης αποκωδικοποιεί και κάνει σύγκριση ανάλογη με την περίπτωση του MAC

19 Πιστοποίηση ταυτότητας (entity authentication) Ανάγκη επιβεβαίωσης ότι αυτός που με τον οποίο μιλάει κανείς είναι πραγματικά αυτός που ισχυρίζεται Η διαφορά με τις διάφορες μεθόδους επιβεβαίωσης της ταυτότητας του συνομιλητή που αναφέρθηκαν παραπάνω στα πλαίσια της πιστοποίησης μηνύματος (π.χ. MAC), είναι ότι μιλάμε πια για πιστοποίηση ταυτότητας σε πραγματικό χρόνο καθώς και το γεγονός ότι δεν μεταφέρεται κάποιο ουσιαστικό μήνυμα

20 Χαρακτηριστικά πρωτοκόλλου Ένα πρωτόκολλο πιστοποίησης ταυτότητας πρέπει να διέπεται από τα ακόλουθα χαρακτηριστικά, δηλαδή πρέπει να μας εξασφαλίζει τα ακόλουθα: oΑν οι Α, Β είναι ειλικρινείς, ο A πρέπει να μπορεί να αποδείξει την ταυτότητά του στον Β o Να μην διαρρέουν οι “μυστικές πληροφορίες” του Α, δηλ. (1) Ο Β να μην μπορεί να αποσπάσει κάποια πληροφορία που χρησιμοποίησε ο A για να αποδείξει την ταυτότητά του, έτσι ώστε να προσποιηθεί σε κάποιον τρίτο C ότι είναι ο A (transferability) (2) Να μην υπάρχει η δυνατότητα σε κάποιον τρίτο C ξεγελάσει τον B ότι είναι ο A (impersonation) oΤα παραπάνω να ισχύουν για όσο μεγάλο πλήθος φορών κι αν εκτελεστεί το πρωτόκολλο μεταξύ των A, B, ακόμα κι αν ένας εισβολέας C έχει παρακολουθήσει όλες τις συνομιλίες των A, B. ( υψηλή παροχή ασφάλειας )

21 Κατηγοριοποίηση τεχνικών πιστοποίησης ταυτότητας Οι τεχνικές αυτές μπορούν να χωριστούν σε 3 κατηγορίες ανάλογα με το που βασίζεται η ασφάλεια. ΚΑΤΙ ΠΟΥ ΓΝΩΡΙΖΟΥΜΕ : passwords, PINS, μυστικά-ιδιωτικά κλειδιά που χρησιμοποιούνται σε challenge-response πρωτόκολλα ΚΑΤΙ ΠΟΥ ΚΑΤΕΧΟΥΜΕ : π.χ. πιστωτικές, smart cards, password generators ΦΥΣΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ : αναγνώριση φωνής, ίριδος, δακτυλικών αποτυπωμάτων

22 Ασθενής πιστοποίηση ταυτότητας - Password Ο B περιμένει από τον A συγκεκριμένο password, για να πειστεί ότι είναι αυτός Συχνά, τα passwords για τον κάθε χρήστη κρατούνται κρυπτογραφημένα σε κάποιο αρχείο, από συνάρτηση μίας κατεύθυνσης: έτσι, ακόμα κι αν κάποιος εισβολέας αποκτήσει πρόσβαση στο αρχείο, δεν μπορεί να ανακαλύψει τα passwords (Unix) Τα passwords πρέπει να είναι μεγάλου μήκους, έτσι ώστε να μη μπορούν να ανακαλυφθούν με εξαντλητική αναζήτηση Για να είναι ανθεκτικά σε «επιθέσεις λεξικού» (dictionary attacks) εφαρμόζονται διάφορες τεχνικές (π.χ. Salting)

23 Salting Passwords Προσθήκη ενός τυχαίου t-bit string (διαφορετικού κάθε φορά) στο τέλος του password Εφαρμογή της one-way function που μας δίνει το encrypted “salted” password. Αυτό δυσκολεύει το έργο των dictionary attacks ( αύξηση απαιτήσεων σε μνήμη και χρόνο) καθώς για κάθε υποψήφιο password έχουμε 2 t παραλλαγές.

24 Ισχυρή πιστοποίηση ταυτότητας – «απάντηση σε πρόκληση» (challenge response identification) Βασική ιδέα: Ένας χρήστης Α (claimant) αποδεικνύει την ταυτότητά του σε κάποιον άλλο Β (verifier) αποδεικνύοντάς του ότι κατέχει μία μυστική γνώση, χωρίς όμως να αποκαλύπτει τη γνώση αυτή. Αυτό επιτυγχάνεται με το να απαντά σε μία «ερώτηση-πρόκληση» του verifier, η απάντηση της οποίας εξαρτάται, εκτός από την ερώτηση, και από τη μυστική γνώση. Πρωτόκολλα με αυτά τα χαρακτηριστικά ονομάζονται μηδενικής γνώσης (zero-knowledge (ZK))

25 Γενικά χαρακτηριστικά πρωτοκόλλων ZK (ΖΚ τριών κινήσεων) O Α (claimant) από το ιδιωτικό του κλειδί (μυστική πληροφορία που την κατέχει μόνο αυτός), παράγει τυχαία μία πληροφορία-βεβαίωση (witness). O Α στέλνει την βεβαίωση στον B (verifier). Κάθε φορά ο Α επιλέγει ένα διαφορετικό ιδιωτικό κλειδί.Αυτό παρέχει μια αρχική τυχαιότητα από επόμενες κλήσεις του πρωτοκόλλου. (το r στο πρωτόκολλο του Fiat – Shamir ) Με βάση την βεβαίωση, ο B κάνει μία ερώτηση- πρόκληση (challenge) στον A. To πρωτόκολλο πρέπει να είναι έτσι σχεδιασμένο ώστε μόνο κάποιος που κατέχει το μυστικό κλειδί του A να μπορεί να απαντήσει σωστά σε όλες τις προκλήσεις, ενώ επίσης να μην μπορεί να εξαχθεί καμία πληροφορία για το ιδιωτικό κλειδί του A από τις απαντήσεις. Ο Α στέλνει στον B την απάντηση (response) στην πρόκληση. Ο B πρέπει να είναι σε θέση να επιβεβαιώσει την ορθότητα της απάντησης.

26 Αυτό το βήμα εκτελείται μόνο ΜΙΑ φορά στην αρχή του πρωτοκόλλου Έστω N=p  q, όπου p,q είναι πολύ μεγάλοι πρώτοι αριθμοί (το N τουλάχιστον 512 bits) (το N παράγεται από έναν «διαιτητή», αποδεκτό από όλους – τα p,q κρατούνται μυστικά) Ο claimant Α επιλέγει τυχαία s μικρότερο του N με (s,N)=1 και υπολογίζει υ τέτοιο ώστε: υ = s 2 (mod N) Δημόσιο κλειδί : N, υ ιδιωτικό κλειδί : s Σχήμα πιστοποίησης ταυτότητας Fiat-Shamir

27 Fiat-Shamir (II) Claimant (C) Verifier (V) s N, s, υ N, υ Επιλογή τυχαίου αριθμού r < N Ορισμός x = r 2 mod N (witness) x Ερώτηση (e) = 0 =1 y = r y = r  s mod N έλεγχος: y 2 =x mod N y 2 =xυ mod N Το βήμα αυτό εκτελείται t φορές. Όσες περισσότερες είναι αυτές τόσο πιο ασφαλές το πρωτόκολλο Α Β

28 Fiat – Shamir (III) H παραπάνω διαδικασία επαναλαμβάνεται πολλές φορές Σε κάθε βεβαίωση r, o V στέλνει μία πρόκληση e, είτε 0 είτε 1, και ο C απαντά με το y=rs e (mod N). O V ελέγχει αν ισχύει y 2 =xυ e (mod N) Ένας επιτιθέμενος που θέλει να προσποιηθεί ότι είναι ο C, μπορεί να επιλέξει τυχαίο r, να στείλει x=r 2 /υ και σε κάθε πρόκληση e=1 να απαντά y=r, κάτι που ο V θα το ανιχνεύει ως σωστή απάντηση. Όμως δεν θα μπορεί να απαντήσει σωστά για e=0. ( Απαιτεί την τετραγωνική ρίζα του x mod n )

29 Ισχυρή πιστοποίηση ταυτότητας με χρήση συνάρτησης κατακερματισμού 2. O V στέλνει την πρόκληση Πρόκληση Claimant (C) Verifier (V) 1. Ο V δημιουργεί το μήνυμα – Πρόκληση (Challenge Message) Ο C έχει ένα password το οποίο γνωρίζει ο V

30 3. Ο C παράγει το μήνυμα-απάντηση με τον εξής τρόπο: (a)Επισυνάπτει το password στο μήνυμα-πρόκληση (b) Κατακερματίζει το αποτέλεσμα (χωρίς κρυπτογράφηση) (c) Το κατακερματισμένο μήνυμα είναι η απάντηση (Response Message) ChallengePassword Response Κατακερματισμός (χωρίς κρυπτογράφηση) Ισχυρή πιστοποίηση ταυτότητας με χρήση συνάρτησης κατακερματισμού (II)

31 4. Ο C στέλνει την απάντηση, χωρίς να την κρυπτογραφήσει Απάντηση (challenge response) Ισχυρή πιστοποίηση ταυτότητας με χρήση συνάρτησης κατακερματισμού (III) Claimant (C) Verifier (V)

32 ChallengePassword Αναμενόμενη απάντηση Κατακερματισμός 5. Ο V επισυνάπτει το password στο μήνυμα που έστειλε και κατακερματίζει το αποτέλεσμα. Αυτό που προκύπτει είναι η αναμενόμενη απάντηση από τον C Ισχυρή πιστοποίηση ταυτότητας με χρήση συνάρτησης κατακερματισμού (IV)

33 Αναμενόμενη απάντησηΜεταδιδόμενη απάντηση =? 6. Αν η ληφθείσα απάντηση ταυτίζεται με την αναμενόμενη, τότε Ο V συμπεραίνει ότι o C ξέρει το σωστό password. Ισχυρή πιστοποίηση ταυτότητας με χρήση συνάρτησης κατακερματισμού (V) Στην παραπάνω ανάλυση δεν χρησιμοποιήθηκε καθόλου κρυπτογράφηση, παρά μόνο κατακερματισμός