450 likes | 623 Views
Αν. Καθ. Π. Γεωργιάδης. ΠΜΣ 36 Ασφάλεια Υπολογιστικών Συστημάτων Lecture 6. Υπ. Δρ. Κ. Παπαπαναγιώτου conpap@di.uoa.gr Δρ. Μαριάς Ιωάννης marias@mm.di.uoa.gr. Περιεχόμενα. Συστήματα και Πρωτόκολλα αυθεντικοποίησης Kerberos Pretty Good Privacy (PGP) Simple PKI/SDSI – ANSI X9.68
E N D
Αν. Καθ. Π. Γεωργιάδης ΠΜΣ 36 Ασφάλεια Υπολογιστικών Συστημάτων Lecture 6 Υπ. Δρ. Κ. Παπαπαναγιώτου conpap@di.uoa.gr Δρ. Μαριάς Ιωάννης marias@mm.di.uoa.gr
Περιεχόμενα • Συστήματα και Πρωτόκολλα αυθεντικοποίησης • Kerberos • Pretty Good Privacy (PGP) • Simple PKI/SDSI – ANSI X9.68 • Personal PKI
Kerberos • Το Kerberos παρέχει υπηρεσίες αυθεντικοποίησης χρήστη σε δικτυακά και κατανεμημένα περιβάλλοντα, χρησιμοποιώντας μία έμπιστη τρίτη οντότητα (TTP) • TTP αποτελείτην KDC • Αναπτύχθηκε από το Project Athena του MIT • http://web.mit.edu/kerberos/www/ • Βασίζεται σε αλγορίθμους συμμετρικής κρυπτογράφησης • Αυθεντικοποιεί δύο μέρη • Μονομερώς (Client 2 Server) • Αμοιβαία (C 2 S/ S 2C) • Χωρίς να αποκαλύπτει κοινό μυστικό (π.χ., password) • Χρησιμοποιεί ως βάση τον αλγόριθμο Needham – Schroeder.
Kerberos • Χρησιμοποιείται, μεταξύ άλλων, στα Windows 2000 για την αυθεντικοποίηση των χρηστών στο σύστημα και τη χρήση δικτυακών πόρων • Το κοινό μυστικό είναι ένα κλειδί που βασίζεται στο συνθηματικό του χρήστη • Χρησιμοποιείται και για να υποστηρίξει εφαρμογές Single Sign On (SSO) • Τελευταία έκδοση: v5 (RFC 1510) • H v4 χρησιμοποιείται ακόμα, ενώ οι εκδόσεις 1-3 δεν δημοσιεύτηκαν
Χρησιμότητα • Το Kerberos αντιμετωπίζει το πρόβλημα της αυθεντικοποίησης σε ένα δικτυακό περιβάλλον, όπου διάφορες υπηρεσίες παρέχονται από ανεξάρτητα συστήματα τα οποία επικοινωνούν μεταξύ τους μέσω δικτύου • Οι υπηρεσίες μπορούν να παρέχονται μόνο σε χρήστες μετά από εξουσιοδότηση • Το Kerberos αντικαθιστά την ανάγκη επιμέρους αυθεντικοποίησης σε κάθε σύστημα, με ένα κεντρικό σύστημα που διαχειρίζεται όλες τις σχέσεις εμπιστοσύνης μεταξύ υπηρεσιών και χρηστών
Απαιτήσεις • Ασφάλεια: Ένας ωτακουστής δεν θα πρέπει να μπορεί να χρησιμοποιήσει τις πληροφορίες που λαμβάνει για να ιδιοποιηθεί την ταυτότητα ενός χρήστη • Αξιοπιστία: Εφόσον ο έλεγχος πρόσβασης στις υπηρεσίες γίνεται από το Kerberos, πιθανή έλλειψη διαθεσιμότητάς του θα συνεπάγεται και μη διαθεσιμότητα των υπηρεσιών. Συνεπώς ο Kerberos θα πρέπει να είναι πάντα διαθέσιμος • υλοποιείται μέσα από μια κατανεμημένη αρχιτεκτονική (κατά specs) • Διαφάνεια: Ο χρήστης δεν θα πρέπει να αντιλαμβάνεται την ύπαρξη του συστήματος ελέγχου προσπέλασης, πέρα από την απαίτηση εισαγωγής ενός συνθηματικού. • Κλιμάκωση: Πρέπει να μπορεί να υποστηρίξει μεγάλο αριθμό clients και servers, • μέσα από μία κατανεμημένη αρχιτεκτονική domains (realms)
Διανομή Κλειδιών μέσω TTP • Σενάριομε συμμετρικά κλειδιά • Δίκτυο n κόμβων • Κάθε ζεύγος κόμβων θέλει να επικοινωνήσει με ασφάλεια • Απαιτούνται n(n-1)/2 κλειδιά και κάθε κόμβος πρέπει να διαθέτει n-1 κλειδιά • Θα μπορούσαν να χρησιμοποιηθούν αλγόριθμοι ασύμμετρης κρυπτογραφίας • Εναλλακτικά, θα μπορούσε να χρησιμοποιηθεί μία έμπιστη τρίτη οντότητα (KDC) που θα βοηθά τους χρήστες να αυθεντικοποιούνται μόνο απέναντί της • Κατόπιν μοιράζονται κλειδιά συνόδου (διάλεξη 2η) • Τελικά: Χρήση πρωτοκόλλου Needham - Schroeder
Needham – SchroederΚλειδιά • Κάθε κόμβος H μοιράζεται ένα κλειδί μακράς διάρκειας KH,Tμε το KDC, T. • Η Alice μοιράζεται ένα κλειδί μακράς διάρκειας KA,Tμε το KDC. • Ο Bob επίσης μοιράζεται ένα κλειδί μακράς διάρκειας KB,Tμε το KDC. • Αρχικά η Alice και ο Bob δεν μοιράζονται κάποιο κοινό κλειδί. • Η Alice και ο Bob χρησιμοποιούν το KDC ώστε να αυθεντικοποιούνται ο ένας απέναντι στον άλλον (έμμεσα) και να συμφωνήσουν σε ένα κλειδί συνόδου.
Needham – SchroederΤο πρωτόκολλο Εγκαθίδρυση κοινού κλειδιού συνόδου Κ μεταξύ Alice και Bob μέσω ΤΤΡ • A T: A || B || NA • T A: ΕKA,T{NA || B || K || ΕKB,T{K || A}} • A B: ΕKB,T{K || A} • B A: NB • A B: ΕK{NB-1||B} KDC 2 1 3 Alice Bob 4 5
Needham – Schroeder Αναλυτικά 1: Η Alice στέλνει στο KDC ένα μήνυμα που περιέχει το όνομα της, το όνομα του Βob και ένα τυχαίο αριθμό (ή αύξοντα) 2: Το KDC δημιουργεί ένα (ψευδο)τυχαίο κλειδί συνόδου, το οποίο το δίνει στην Alice. Στο στάδιο αυτό αυθεντικοποιείται απέναντι στην Alice. 3: H Alice στέλνει το κλειδί συνόδου κρυπτογραφημένο από KDC στον Bob. 4: O Bob στέλνει στην Alice ένα τυχαίο αριθμό (ή αύξοντα) 5: Η Αlice αυθεντικοποιείται απέναντι στον Bob χρησιμοποιώντας το κλειδί συνόδου Kπου πλέον μπορούν και να μοιράζονται
Πλεονεκτήματα - Μειονεκτήματα • Πλεονεκτήματα • Απαιτούνται μόνο nκλειδιά στο KDC • Απαιτείται μόνο ένα κλειδί μακράς διάρκειας στον κάθε κόμβο (αντί n-1) • Χρήση Συμμετρικής Κρυπτογραφίας • Ο Βob μπορεί να είναι offline στα βήματα 1 και 2, ομοίως και oKDC στα βήματα 3,4,5. • Μειονεκτήματα • KDC: Μοναδικό σημείο κατάρρευσης • Φόρτος μηνυμάτων στο KDC • Απαίτηση για έμπιστο KDC • Απαίτηση για καλή διαχείριση κλειδιών μακράς διαρκείας από τους κόμβους
Στοιχεία του Kerberos • Kerberos Key Distribution Centre (KDC) • γνωστό και σαν Kerberos Authentication Server (KAS) • αυθεντικοποιεί χρήστες (ή και άλλες οντότητες) και εκδίδει εισιτήρια, τα οποία είναι έγκυρα για μία σύνοδο • Ticket Granting Servers (TGSs) • Εκδίδουν εισιτήρια προς οντότητες που ζητούν πρόσβαση σε δικτυακές υπηρεσίες • Client • Χρήστες που επιθυμούν να έχουν πρόσβαση σε υπηρεσίες που παρέχονται από servers του δικτύου • Server • Παρέχουν υπηρεσίες σε clients βασιζόμενοι στην αυθεντικοποίηση που πραγματοποιούν οι KDC και TGS • Realm • To σύνολο των client και server που διαχειριστικά ανήκουν σε ένα ζεύγος KDC/TGS
Πρωτόκολλο • Αίτηση για Ticket-Granting Ticket • Ticket-Granting Ticket • Αίτηση για Server Ticket • Server Ticket • Αίτηση για Service • Ασφαλής επικοινωνία TGS (ticket- granting server) KDC (Authentication Server, AS) 2 1 3 4 C (client) S (server) 5 6
Φάσεις του πρωτοκόλλου • Φάση 1: Στα μηνύματα 1 και 2,χρησιμοποιείται το κλειδί μακράς διάρκειας για αυθεντικοποίηση μεταξύ Client και KDC. To KDC δίνει ένα κλειδί μικρής διάρκειας και ένα ticket granting ticket (TGT). • Φάση 2: Στα μηνύματα 3 και 4, χρησιμοποιούνται το κλειδί μικρής διάρκειας και το TGT για αυθεντικοποίηση μεταξύ Client και TGS. Ο TGS δίνει ένα κλειδί συνόδου και ένα εισιτήριο (ticket). • Φάση 3: Στα μηνύματα 5 και 6, χρησιμοποιούνται το κλειδί συνόδου και το εισιτήριο για αυθεντικοποίηση μεταξύ Client και Server και για την εγκαθίδρυση ασφαλούς συνόδου. • Οι Φάσεις 2 και 3 συνήθως επαναλαμβάνονται πολλές φορές για κάθε 1η φάση.
Ροή Μηνυμάτων Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715
Μηνύματα Authentication phase • Απόκτηση Ticket-Granting Ticket (TGT) • Once per user logon session 1.CKDC: IDtgs||IDC||TS1 2. KDCC: EKc{Kc,tgs|| IDtgs || TS2 || Lifetime2 || Tickettgs} Tickettgs := Ekkdc, tgs{Kc,tgs|| IDc || ADc || IDtgs || TS2 || Lifetime2 }
Μηνύματα Ticket Granting Service phase • Απόκτηση Service-Granting Ticket • Once per type of service 3.CTGS: IDS|| Tickettgs||Authenticatorc 4. TGSC: Ekc,tgs{Kc,s|| IDs|| TS4 || Tickets} Tickettgs := Ekkdc, tgs{Kc,tgs|| IDc || ADc || IDtgs || TS2 || Lifetime2} Tickets := Eks{Kc,s|| IDc || ADc || IDs || TS4 || Lifetime4} Authenticatorc := Ekc,tgs{IDc || ADc || TS3}
Μηνύματα Client-Server Authentication phase • Πρόσβαση σε υπηρεσία • Once per servicesession 5.CS:Tickets||Authenticator’c 6. SC: Ekc, s{TS5 +1} Tickets := Eks{Kc,s|| IDc || ADc || IDs || TS4 || Lifetime4} Authenticator’c := Ekc, s{IDc || ADc || TS5}
Αυθεντικοποίηση σε Διαφορετικά Realms • Το Kerberos υποστηρίζει αυθεντικοποίηση σε διαφορετικά realms • Clients που ανήκουν σε ένα realms μπορούν να έχουν πρόσβαση σε servers άλλου realm. • Απαιτείται προ-συμφωνία μεταξύ των σχετικών KDC/TGS. • Χρησιμοποιούνται forwardable tickets. • Ένας Client στο realm A ζητεί ένα TGT από τον TGS για να το χρησιμοποιήσει σε ένα άλλο realm B. • Ο TGS του realm A δίνει ένα TGT για το realm B. • Ο TGS πρέπει να γνωρίζει το κλειδί KKDC,TGSπου ισχύει στο realm B. • Ο TGS στο realm A εισάγει ένα forwardable flag στο TGT που εκδίδει. • Ο Client από το realm A μπορεί να χρησιμοποιήσει το TGT στο realm B.
Επικοινωνία Μεταξύ Realms Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715
Διαφορές v4 – v5 • To v4 χρησιμοποιεί DES ενώ το v5 μπορεί να χρησιμοποιήσει οποιονδήποτε αλγόριθμο. • Το v4 βασίζεται στις διευθύνσεις του πρωτοκόλλου IP ενώ το v5 μπορεί να χρησιμοποιήσει οποιεσδήποτε διευθύνσεις. • Τα εισιτήρια στο v4 μπορούν να είναι μέχρι 21 ώρες, ενώ στο v5 έχουν συγκεκριμένους χρόνους αρχής και τέλους. • Τα μηνύματα 2 και 4 κρυπτογραφούνταν 2 φορές στη v4.
Ανοικτά Θέματα • Ανάκληση: Τα TGT ισχύουν μέχρι να λήξουν, συνήθως σε 10 ώρες. • Διαχείριση κλειδιών: μέσα σε ένα realm: Κλειδιά μακράς διαρκείας πρέπει να ανταλλαχθούν μεταξύ KDC και TGS, TGS και Server, KDC και Client. • Απαιτείται συγχρονισμός των ρολογιών, εφόσον χρησιμοποιούνται χρονικές ενδείξεις. • Διαθεσιμότητα: απαιτούνται online έμπιστοι KDC και TGS. • Key storage: short-term keys και ticket-granting tickets είναι αποθηκευμένα σε μη προστατευόμενους client hosts. • Συνθηματικά: στις περισσότερες υλοποιήσεις το κλειδί μακράς διαρκείας μεταξύ Client και KDC (KKDC,C) βασίζεται σε ένα συνθηματικό που εισάγει ο χρήστης στην αρχή της συνόδου • Επιθέσεις με χρήση λεξικού είναι δυνατές • π.χ.: http://citeseer.ist.psu.edu/wu99realworld.html • Τελικά η ασφάλεια του συστήματος εξαρτάται από τους χρήστες και την ποιότητα των συνθηματικών. • Ευπάθειες στον Κώδικα : κάθε τόσο βρίσκονται αρκετές: http://web.mit.edu/kerberos/www/advisories/
Single Sign On (SSO) • O Kerberos είναι ένα παράδειγμα συστήματος Single Sign On (SSO). • Ο χρήστης εισάγει ένα μόνο συνθηματικό για να αποκτήσει πρόσβαση σε πολλαπλές υπηρεσίες και εφαρμογές. • Microsoft Passport: παράδειγμα web-based εφαρμογής SSO solution. • Liberty Alliance: μία ανοικτή προσπάθεια δημιουργίας προτύπων για την επίτευξη μιαςfederated network identity, έννοιας που σχετίζεται με το SSO.
PGP - Pretty Good Privacy • Παρέχει σε μηνύματα υπηρεσίες • Αυθεντικοποίησης της πηγής προέλευσης • Confidentiality • Compression • Παρέχει Υπηρεσίες Key management • Generation, distribution, revocation of public/private keys • Generation distribution of session keys • Δεν απαιτεί την ύπαρξη κεντρικών Αρχών Πιστοποίησης (CA) • Κάθε κόμβος είναι CA
PGP - Pretty Good Privacy • Αναπτύχθηκε από τον Phil Zimmermann το 1991 (first version) • Commercial version by PGP Corp.:www.pgp.com • Freeware version :www.pgpi.org • OpenPGP – RFC 2440 – • www.ietf.org/html.charters/openpgp-charter.html • Αν και μπορεί να χρησιμοποιηθεί για να κρυπτογραφήσει οποιαδήποτε δεδομένα, χρησιμοποιείται κυρίως για e-mail • Υπάρχει ενσωματωμένο στους περισσότερους e-mail clients
Αυθεντικοποίηση/ Κρυπτογράφηση στο PGP • Χρησιμοποιεί συνδυασμό ασύμμετρης και συμμετρικής κρυπτογραφίας • Ο αποστολέας κρυπτογραφεί χρησιμοποιώντας συμμετρικούς αλγορίθμους και ένα κλειδί συνόδου το μήνυμα • Το κλειδί συνόδου κρυπτογραφείται με το δημόσιο κλειδί του παραλήπτη και αποστέλλεται μαζί με το μήνυμα • Ο παραλήπτης αποκρυπτογραφεί το κλειδί συνόδου χρησιμοποιώντας το ιδιωτικό του κλειδί • Με το κλειδί συνόδου αποκρυπτογραφεί το μήνυμα • Υποστηριζόμενοι αλγόριθμοι • Συμμετρικοί: DES, 3DES, AES, κλπ. • Ασύμμετροι: RSA, El Gamal, κλπ.
Αυθεντικοποίηση/ Κρυπτογράφηση στο PGP Δημόσιο κλειδί παραλήπτη Ιδιωτικό κλειδί παραλήπτη Κρυπτογραφημένο κλειδί συνόδου Κλειδί συνόδου Κλειδί συνόδου Αποκρυπτογράφηση Μήνυμα Μήνυμα Κρυπτογράφηση Κρυπτογραφημένο μήνυμα
Διαχείριση Κλειδιών • Κάθε χρήστης μπορεί να έχει πολλά ζεύγη κλειδιών: ιδιωτικό-δημόσιο • τα ζεύγη κλειδιών αποθηκεύονται σε κλειδοθήκες (key rings) • Private key ring • Αποθηκεύει τα ζεύγη public– private keys που ανήκουν στον ιδιοκτήτη • Public key ring • Αποθηκεύει τα public keys που ανήκουν σε άλλους χρήστες • Δυσκολίες • Ποιο public key θα πιστοποιήσει μια υπογραφή ? • Ποιο private key θα αποκρυπτογραφήσει το session key ? • Μετάδοση όλουτου public key είναι «σπατάλη» • Σχετίζοντας ένα τυχαίο ID στο public key προκαλεί διαχειριστικό πρόβλημα • PGP key ID: least significant 64 bits του public key • Σχεδόν σίγουρα μοναδικό για ένα χρήστη • DEADBEEF attack
Διαχείριση Κλειδιών • Κάθε χρήστης έχει ένα πιστοποιητικό που πιστοποιεί την αντιστοιχία χρήστη-δημόσιου κλειδιού • Τοπική έννοια «χρήστη» όχι καθολικό Χ.500 • Το πιστοποιητικό μπορεί να υπογράψει οποιοσδήποτε τρίτος «δέχεται» την αντιστοιχία αυτή • Υπάρχουν διάφορες διαβαθμίσεις εμπιστοσύνης σε αυτή την υπογραφή • Όσες περισσότερες υπογραφές μαζεύει • Ποιο το μοντέλο εμπιστοσύνης;
Web of Trust Owner Trust • Επίπεδα εμπιστοσύνης που τίθενται από χρήστη • Κάθε χρήστης μπορεί να αποκτήσει μία ή περισσότερες υπογραφές για το πιστοποιητικό του • αυξάνει την αξιοπιστία του • Εάν ο χρήστης Α εμπιστεύεται το πιστοποιητικό του Β και ο Β εμπιστεύεται το πιστοποιητικό του Γ, τότε ο Α μπορεί να εμπιστευτεί το πιστοποιητικό του Γ • Η αλυσίδα εμπιστοσύνης μπορεί να εξαρτάται από το βαθμό εμπιστοσύνης σε κάθε πιστοποιητικό ξεχωριστά
Web of Trust • Σε νεότερες εκδόσεις εισάγεται η έννοια των «υπογραφών εμπιστοσύνης» που μπορούν να υποστηρίξουν τη δημιουργία Αρχών Πιστοποίησης • Η «υπογραφή εμπιστοσύνης» επιβεβαιώνει την αντιστοιχία κλειδιού-οντότητας και διαβεβαιώνει πως ο ιδιοκτήτης του κλειδιού είναι αρκετά έμπιστος να υπογράφει άλλα πιστοποιητικά • Μία μορφή distributed CAs
Εναλλακτικές Υποδομές Δημόσιου Κλειδιού • Ψηφιακά Πιστοποιητικά • Συνδέουν ονόματα με κλειδιά • Δημόσια άμεσα, άρα και ιδιωτικά έμμεσα • Δημόσια διαθέσιμες λίστες πιστοποιητικών δημιουργούν ένα τύπο «τηλεφωνικών» καταλόγων • Kohnfelder (1978): • Εάν δεν υπάρχει άμεσος και αξιόπιστος τρόπος διαμοιρασμού των κλειδιών, καλύτερα να εμπιστευτούμε κάποια έμπιστη τρίτη οντότητα
Καθολικά Ονόματα • Χ.500 και X.509 • Distinguished Name: ένα παγκόσμιο όνομα που χαρακτηρίζει μοναδικά μία οντότητα. • Εύκολα υλοποιήσιμο σε μικρές κοινωνίες • Όλοι είναι γνωστοί με τα ονόματά τους • Μη εφικτό σε παγκόσμια κλίμακα • Δεν υπάρχει παγκόσμιος κανόνας ονοματοδοσίας • Πολλές εταιρίες δραστηριοποιούνται στο χώρο, δίνοντας η καθεμία ονόματα με διαφορετικό τρόπο
SPKI • Simple PKI • Χρησιμοποιεί «τοπικά» ονόματα • Δεν απαιτείται να είναι καθολικά μοναδικά • Πρέπει να είναι μοναδικά στα πλαίσια της οντότητας που τα διαχειρίζεται • Διευκολύνει τη δημιουργία λιστών ελέγχου πρόσβασης (ACL – Access Control Lists)
Ονοματολογία SDSI • Simple Distributed Security Infrastructure • Αναπτύχθηκε παράλληλα με το SPKI, και αργότερα ενοποιήθηκαν • Σύμφωνα με το SDSI 2.0 ένα βασικό όνομα αποτελείται από 2 στοιχεία: τη λέξη name και το όνομα • π.χ. • george: (name fred) • Ο george oρίζει το όνομα fred • Σύνθετα ονόματα • fred: (name sam) • george: (name fred sam)
Διεθνοποίηση Ονομάτων SDSI • Κάποιες εφαρμογές απαιτούν παγκοσμίως μοναδικά ονόματα • Στην ασύμμετρη κρυπτογραφία έχουμε ήδη ένα μοναδικό χαρακτηριστικό: το ιδιωτικό κλειδί • Κάθε ιδιωτικό κλειδί σχετίζεται μοναδικά με το αντίστοιχο δημόσιο • Υπολογιστικά η σύνοψη του δημόσιου κλειδιού είναι επίσης μοναδική • Ένα όνομα SDSI παίρνει τη μορφή: • (name (ΣύνοψηΚλειδιούΕκδότη) Όνομα) • π.χ.: (name (|TLCgPLFlGTzgUbcaYLW8kGTEnUk=|) jim)
Πιστοποιητικά SPKI • Πιστοποιητικά Ονομάτων • Πιστοποιούν ότι ένα όνομα ανήκει στον εκδότη του πιστοποιητικού • Δίνουν συμβολικά ονόματα σε κλειδιά ή ομάδες κλειδιών • C: (K,A,S,V) • K: Το δημόσιο κλειδί του εκδότη • Α: Τοπικό όνομα • S: Όνομα ή Κλειδί που προσδίδει επιπλέον χαρακτηριστικά στο συγκεκριμένο Όνομα • V: Διάρκεια ισχύος • Το πιστοποιητικό υπογράφεται ψηφιακά από τον εκδότη
Πιστοποιητικά SPKI (2) • Πιστοποιητικά Αυθεντικοποίησης • Αυθεντικοποιούν ένα χρήστη • Αντιστοιχούν συγκεκριμένα δικαιώματα σε κλειδιά ή ομάδες κλειδιών • C: (K,S,d,T,V) • K: Το δημόσιο κλειδί του εκδότη, ο οποίος αυθεντικοποιεί τον χρήστη • S: Το υποκείμενο που αυθεντικοποιείται • d: delegation bit: Δίνει δικαίωμα μεταφοράς των συγκεκριμένων δικαιωμάτων και σε άλλα κλειδιά του ίδιου χρήστη • T: Δικαιώματα που δίνονται • V: Διάρκεια ισχύος
X9.68 Domain Certificates • ANSI 2001: • Digital Certificates for Mobile/Wireless and High Transaction Volume Financial Systems • Χωρίζει ένα PKI σε domains • Χρησιμοποιεί τοπικά ονόματα στα domains • κατ’ αναλογία με SPKI • Επιβάλλει αυστηρούς συντακτικούς κανόνες • περιορίζει το μέγεθος των πιστοποιητικών και • απλουστεύσει την επεξεργασία τους
X.509 vs X9.68 • X.509: Ένα πιστοποιητικό περιλαμβάνει: • Όνομα εκδότη (distinguished name) • Σειριακός Αριθμός • Όνομα κατόχου (distinguished name) • X9.68: Τα παραπάνω αντικαθίστανται από δύο πεδία: • rootName: καθορίζει τον ιδιοκτήτη του πιστοποιητικού ρίζας του domain • localName: λίστα ονομάτων που σχηματίζουν μία ιεραρχία, όπως τα σύνθετα ονόματα SDSI. • Το δεξιότερο όνομα είναι το όνομα του κατόχου • Πλεονεκτήματα X9.68 • Μικρότερο μέγεθος επειδή δε χρησιμοποιούνται DNs • Ευκολία στη δημιουργία της αλυσίδας εμπιστοσύνης
Personal PKI • Δίκτυα Προσωπικών Επικοινωνιών (Personal Area Networks – PAN) • Οι χρήστες τους δεν έχουν τρόπο • Να ανταλλάξουν μυστικά συμμετρικά κλειδιά • Να προμηθευτούν δημόσια κλειδιά από μία κεντρική υποδομή PKI • Μπορεί να υλοποιηθεί μία περιορισμένη υποδομή PKI • Θεωρούμε ότι ένας κόμβος λειτουργεί σαν Personal CA • O Personal CA εκδίδει πιστοποιητικά για όλους τους χρήστες του δικτύου
Προβλήματα στο Personal PKI • Ανανέωση Πιστοποιητικών και Κλειδιών • Όταν παρέλθει η ημερομηνία λήξης του πιστοποιητικού αυτό πρέπει να ανανεωθεί • Ανάκληση Πιστοποιητικών • Το ιδιωτικό κλειδί ενός χρήστη μπορεί να κλαπεί • Το ιδιωτικό κλειδί της Personal CA μπορεί να κλαπεί • Σε κάθε περίπτωση όλοι οι χρήστες του δικτύου πρέπει να ενημερωθούν • Διαχείριση εμπιστοσύνης • Η Personal CA πρέπει να είναι καθολικά έμπιστη • Πρέπει να υποστηρίζεται η ανανέωση κλειδιού της Personal CA • Η συσκευή που εκτελεί χρέη Personal CA μπορεί να κλαπεί ή να χαθεί
Υλοποίηση • Πρωτόκολλο ανταλλαγής δημόσιων κλειδιών για την έκδοση πιστοποιητικών χρηστών. • Απαιτεί φυσική επαφή χρήστη-Personal CA για να εισάγει ένα αναγνωριστικό της συσκευής • Η Personal CA συλλέγει όλα τα δημόσια κλειδιά-πιστοποιητικά των χρηστών. Μόλις κάποιο λήξει ενημερώνει τον χρήστη και εκδίδει νέο αν κάτι τέτοιο απαιτείται • Ανάκληση πιστοποιητικών • Μονίμως online Personal CA: OCSP • Κατά περιόδους offline CA: περιοδικός διαμοιρασμός CRLs • Ανανέωση κλειδιών ρίζας • Διαμοιρασμός νέου πιστοποιητικού ρίζας υπογεγραμμένο με το παλιό κλειδί • Σε περίπτωση κλοπής • χρήση πολλαπλών Personal CA • Επιλογή νέας Personal CA
Απαιτήσεις • Το ζεύγος κλειδιών της Personal CA πρέπει να έχει δημιουργηθεί στη συσκευή ή να έχει τοποθετηθεί με ασφάλεια στη συσκευή κατά την κατασκευή της • Η παρακολούθηση από τρίτους των μηνυμάτων που ανταλλάσσονται δε θα πρέπει να οδηγεί στην αποκάλυψη μυστικής πληροφορίας • Κανένας ωτακουστής δε θα πρέπει να μπορεί να τροποποιήσει τα μηνύματα μεταξύ κόμβων και Personal CA με τρόπο τέτοιο, ώστε να δημιουργηθεί ένα πιστοποιητικό για λανθασμένη συσκευή, ή να περιέχει μη έγκυρα στοιχεία (π.χ. διαφορετικό δημόσιο κλειδί) • Η επικοινωνία που χρειάζεται για να μεταδοθεί το root certificate της Personal CA στους κόμβους του δικτύου θα προστατεύεται τουλάχιστον από ένα «ασθενές» κοινό μυστικό (π.χ. ένα password ή PIN). Η μέθοδος που θα χρησιμοποιείται για το σκοπό αυτό θα πρέπει να είναι ανθεκτική σε επιθέσεις τύπου “brute force”