1 / 45

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

Αν. Καθ. Π. Γεωργιάδης. ΠΜΣ 36 Ασφάλεια Υπολογιστικών Συστημάτων Lecture 6. Υπ. Δρ. Κ. Παπαπαναγιώτου conpap@di.uoa.gr Δρ. Μαριάς Ιωάννης marias@mm.di.uoa.gr. Περιεχόμενα. Συστήματα και Πρωτόκολλα αυθεντικοποίησης Kerberos Pretty Good Privacy (PGP) Simple PKI/SDSI – ANSI X9.68

cara
Download Presentation

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

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. Αν. Καθ. Π. Γεωργιάδης ΠΜΣ 36 Ασφάλεια Υπολογιστικών Συστημάτων Lecture 6 Υπ. Δρ. Κ. Παπαπαναγιώτου conpap@di.uoa.gr Δρ. Μαριάς Ιωάννης marias@mm.di.uoa.gr

  2. Περιεχόμενα • Συστήματα και Πρωτόκολλα αυθεντικοποίησης • Kerberos • Pretty Good Privacy (PGP) • Simple PKI/SDSI – ANSI X9.68 • Personal PKI

  3. 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.

  4. Kerberos • Χρησιμοποιείται, μεταξύ άλλων, στα Windows 2000 για την αυθεντικοποίηση των χρηστών στο σύστημα και τη χρήση δικτυακών πόρων • Το κοινό μυστικό είναι ένα κλειδί που βασίζεται στο συνθηματικό του χρήστη • Χρησιμοποιείται και για να υποστηρίξει εφαρμογές Single Sign On (SSO) • Τελευταία έκδοση: v5 (RFC 1510) • H v4 χρησιμοποιείται ακόμα, ενώ οι εκδόσεις 1-3 δεν δημοσιεύτηκαν

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

  6. Απαιτήσεις • Ασφάλεια: Ένας ωτακουστής δεν θα πρέπει να μπορεί να χρησιμοποιήσει τις πληροφορίες που λαμβάνει για να ιδιοποιηθεί την ταυτότητα ενός χρήστη • Αξιοπιστία: Εφόσον ο έλεγχος πρόσβασης στις υπηρεσίες γίνεται από το Kerberos, πιθανή έλλειψη διαθεσιμότητάς του θα συνεπάγεται και μη διαθεσιμότητα των υπηρεσιών. Συνεπώς ο Kerberos θα πρέπει να είναι πάντα διαθέσιμος • υλοποιείται μέσα από μια κατανεμημένη αρχιτεκτονική (κατά specs) • Διαφάνεια: Ο χρήστης δεν θα πρέπει να αντιλαμβάνεται την ύπαρξη του συστήματος ελέγχου προσπέλασης, πέρα από την απαίτηση εισαγωγής ενός συνθηματικού. • Κλιμάκωση: Πρέπει να μπορεί να υποστηρίξει μεγάλο αριθμό clients και servers, • μέσα από μία κατανεμημένη αρχιτεκτονική domains (realms)

  7. Διανομή Κλειδιών μέσω TTP • Σενάριομε συμμετρικά κλειδιά • Δίκτυο n κόμβων • Κάθε ζεύγος κόμβων θέλει να επικοινωνήσει με ασφάλεια • Απαιτούνται n(n-1)/2 κλειδιά και κάθε κόμβος πρέπει να διαθέτει n-1 κλειδιά • Θα μπορούσαν να χρησιμοποιηθούν αλγόριθμοι ασύμμετρης κρυπτογραφίας • Εναλλακτικά, θα μπορούσε να χρησιμοποιηθεί μία έμπιστη τρίτη οντότητα (KDC) που θα βοηθά τους χρήστες να αυθεντικοποιούνται μόνο απέναντί της • Κατόπιν μοιράζονται κλειδιά συνόδου (διάλεξη 2η) • Τελικά: Χρήση πρωτοκόλλου Needham - Schroeder

  8. Needham – SchroederΚλειδιά • Κάθε κόμβος H μοιράζεται ένα κλειδί μακράς διάρκειας KH,Tμε το KDC, T. • Η Alice μοιράζεται ένα κλειδί μακράς διάρκειας KA,Tμε το KDC. • Ο Bob επίσης μοιράζεται ένα κλειδί μακράς διάρκειας KB,Tμε το KDC. • Αρχικά η Alice και ο Bob δεν μοιράζονται κάποιο κοινό κλειδί. • Η Alice και ο Bob χρησιμοποιούν το KDC ώστε να αυθεντικοποιούνται ο ένας απέναντι στον άλλον (έμμεσα) και να συμφωνήσουν σε ένα κλειδί συνόδου.

  9. 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

  10. Needham – Schroeder Αναλυτικά 1: Η Alice στέλνει στο KDC ένα μήνυμα που περιέχει το όνομα της, το όνομα του Βob και ένα τυχαίο αριθμό (ή αύξοντα) 2: Το KDC δημιουργεί ένα (ψευδο)τυχαίο κλειδί συνόδου, το οποίο το δίνει στην Alice. Στο στάδιο αυτό αυθεντικοποιείται απέναντι στην Alice. 3: H Alice στέλνει το κλειδί συνόδου κρυπτογραφημένο από KDC στον Bob. 4: O Bob στέλνει στην Alice ένα τυχαίο αριθμό (ή αύξοντα) 5: Η Αlice αυθεντικοποιείται απέναντι στον Bob χρησιμοποιώντας το κλειδί συνόδου Kπου πλέον μπορούν και να μοιράζονται

  11. Πλεονεκτήματα - Μειονεκτήματα • Πλεονεκτήματα • Απαιτούνται μόνο nκλειδιά στο KDC • Απαιτείται μόνο ένα κλειδί μακράς διάρκειας στον κάθε κόμβο (αντί n-1) • Χρήση Συμμετρικής Κρυπτογραφίας • Ο Βob μπορεί να είναι offline στα βήματα 1 και 2, ομοίως και oKDC στα βήματα 3,4,5. • Μειονεκτήματα • KDC: Μοναδικό σημείο κατάρρευσης • Φόρτος μηνυμάτων στο KDC • Απαίτηση για έμπιστο KDC • Απαίτηση για καλή διαχείριση κλειδιών μακράς διαρκείας από τους κόμβους

  12. Στοιχεία του 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

  13. Πρωτόκολλο • Αίτηση για 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

  14. Φάσεις του πρωτοκόλλου • Φάση 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η φάση.

  15. Ροή Μηνυμάτων Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715

  16. Μηνύματα Authentication phase • Απόκτηση Ticket-Granting Ticket (TGT) • Once per user logon session 1.CKDC: IDtgs||IDC||TS1 2. KDCC: EKc{Kc,tgs|| IDtgs || TS2 || Lifetime2 || Tickettgs} Tickettgs := Ekkdc, tgs{Kc,tgs|| IDc || ADc || IDtgs || TS2 || Lifetime2 }

  17. Μηνύματα Ticket Granting Service phase • Απόκτηση Service-Granting Ticket • Once per type of service 3.CTGS: IDS|| Tickettgs||Authenticatorc 4. TGSC: 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}

  18. Μηνύματα Client-Server Authentication phase • Πρόσβαση σε υπηρεσία • Once per servicesession 5.CS:Tickets||Authenticator’c 6. SC: Ekc, s{TS5 +1} Tickets := Eks{Kc,s|| IDc || ADc || IDs || TS4 || Lifetime4} Authenticator’c := Ekc, s{IDc || ADc || TS5}

  19. Αυθεντικοποίηση σε Διαφορετικά 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.

  20. Επικοινωνία Μεταξύ Realms Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715

  21. Διαφορές v4 – v5 • To v4 χρησιμοποιεί DES ενώ το v5 μπορεί να χρησιμοποιήσει οποιονδήποτε αλγόριθμο. • Το v4 βασίζεται στις διευθύνσεις του πρωτοκόλλου IP ενώ το v5 μπορεί να χρησιμοποιήσει οποιεσδήποτε διευθύνσεις. • Τα εισιτήρια στο v4 μπορούν να είναι μέχρι 21 ώρες, ενώ στο v5 έχουν συγκεκριμένους χρόνους αρχής και τέλους. • Τα μηνύματα 2 και 4 κρυπτογραφούνταν 2 φορές στη v4.

  22. Ανοικτά Θέματα • Ανάκληση: Τα 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/

  23. Single Sign On (SSO) • O Kerberos είναι ένα παράδειγμα συστήματος Single Sign On (SSO). • Ο χρήστης εισάγει ένα μόνο συνθηματικό για να αποκτήσει πρόσβαση σε πολλαπλές υπηρεσίες και εφαρμογές. • Microsoft Passport: παράδειγμα web-based εφαρμογής SSO solution. • Liberty Alliance: μία ανοικτή προσπάθεια δημιουργίας προτύπων για την επίτευξη μιαςfederated network identity, έννοιας που σχετίζεται με το SSO.

  24. PGP - Pretty Good Privacy • Παρέχει σε μηνύματα υπηρεσίες • Αυθεντικοποίησης της πηγής προέλευσης • Confidentiality • Compression • Παρέχει Υπηρεσίες Key management • Generation, distribution, revocation of public/private keys • Generation distribution of session keys • Δεν απαιτεί την ύπαρξη κεντρικών Αρχών Πιστοποίησης (CA) • Κάθε κόμβος είναι CA

  25. 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

  26. Αυθεντικοποίηση/ Κρυπτογράφηση στο PGP • Χρησιμοποιεί συνδυασμό ασύμμετρης και συμμετρικής κρυπτογραφίας • Ο αποστολέας κρυπτογραφεί χρησιμοποιώντας συμμετρικούς αλγορίθμους και ένα κλειδί συνόδου το μήνυμα • Το κλειδί συνόδου κρυπτογραφείται με το δημόσιο κλειδί του παραλήπτη και αποστέλλεται μαζί με το μήνυμα • Ο παραλήπτης αποκρυπτογραφεί το κλειδί συνόδου χρησιμοποιώντας το ιδιωτικό του κλειδί • Με το κλειδί συνόδου αποκρυπτογραφεί το μήνυμα • Υποστηριζόμενοι αλγόριθμοι • Συμμετρικοί: DES, 3DES, AES, κλπ. • Ασύμμετροι: RSA, El Gamal, κλπ.

  27. Αυθεντικοποίηση/ Κρυπτογράφηση στο PGP Δημόσιο κλειδί παραλήπτη Ιδιωτικό κλειδί παραλήπτη Κρυπτογραφημένο κλειδί συνόδου Κλειδί συνόδου Κλειδί συνόδου Αποκρυπτογράφηση Μήνυμα Μήνυμα Κρυπτογράφηση Κρυπτογραφημένο μήνυμα

  28. Διαχείριση Κλειδιών • Κάθε χρήστης μπορεί να έχει πολλά ζεύγη κλειδιών: ιδιωτικό-δημόσιο • τα ζεύγη κλειδιών αποθηκεύονται σε κλειδοθήκες (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

  29. Διαχείριση Κλειδιών • Κάθε χρήστης έχει ένα πιστοποιητικό που πιστοποιεί την αντιστοιχία χρήστη-δημόσιου κλειδιού • Τοπική έννοια «χρήστη» όχι καθολικό Χ.500 • Το πιστοποιητικό μπορεί να υπογράψει οποιοσδήποτε τρίτος «δέχεται» την αντιστοιχία αυτή • Υπάρχουν διάφορες διαβαθμίσεις εμπιστοσύνης σε αυτή την υπογραφή • Όσες περισσότερες υπογραφές μαζεύει • Ποιο το μοντέλο εμπιστοσύνης;

  30. Web of Trust Owner Trust • Επίπεδα εμπιστοσύνης που τίθενται από χρήστη • Κάθε χρήστης μπορεί να αποκτήσει μία ή περισσότερες υπογραφές για το πιστοποιητικό του • αυξάνει την αξιοπιστία του • Εάν ο χρήστης Α εμπιστεύεται το πιστοποιητικό του Β και ο Β εμπιστεύεται το πιστοποιητικό του Γ, τότε ο Α μπορεί να εμπιστευτεί το πιστοποιητικό του Γ • Η αλυσίδα εμπιστοσύνης μπορεί να εξαρτάται από το βαθμό εμπιστοσύνης σε κάθε πιστοποιητικό ξεχωριστά

  31. Web of Trust • Σε νεότερες εκδόσεις εισάγεται η έννοια των «υπογραφών εμπιστοσύνης» που μπορούν να υποστηρίξουν τη δημιουργία Αρχών Πιστοποίησης • Η «υπογραφή εμπιστοσύνης» επιβεβαιώνει την αντιστοιχία κλειδιού-οντότητας και διαβεβαιώνει πως ο ιδιοκτήτης του κλειδιού είναι αρκετά έμπιστος να υπογράφει άλλα πιστοποιητικά • Μία μορφή distributed CAs

  32. Εναλλακτικές Υποδομές Δημόσιου Κλειδιού • Ψηφιακά Πιστοποιητικά • Συνδέουν ονόματα με κλειδιά • Δημόσια άμεσα, άρα και ιδιωτικά έμμεσα • Δημόσια διαθέσιμες λίστες πιστοποιητικών δημιουργούν ένα τύπο «τηλεφωνικών» καταλόγων • Kohnfelder (1978): • Εάν δεν υπάρχει άμεσος και αξιόπιστος τρόπος διαμοιρασμού των κλειδιών, καλύτερα να εμπιστευτούμε κάποια έμπιστη τρίτη οντότητα

  33. Καθολικά Ονόματα • Χ.500 και X.509 • Distinguished Name: ένα παγκόσμιο όνομα που χαρακτηρίζει μοναδικά μία οντότητα. • Εύκολα υλοποιήσιμο σε μικρές κοινωνίες • Όλοι είναι γνωστοί με τα ονόματά τους • Μη εφικτό σε παγκόσμια κλίμακα • Δεν υπάρχει παγκόσμιος κανόνας ονοματοδοσίας • Πολλές εταιρίες δραστηριοποιούνται στο χώρο, δίνοντας η καθεμία ονόματα με διαφορετικό τρόπο

  34. Πιστοποιητικό X.509

  35. SPKI • Simple PKI • Χρησιμοποιεί «τοπικά» ονόματα • Δεν απαιτείται να είναι καθολικά μοναδικά • Πρέπει να είναι μοναδικά στα πλαίσια της οντότητας που τα διαχειρίζεται • Διευκολύνει τη δημιουργία λιστών ελέγχου πρόσβασης (ACL – Access Control Lists)

  36. Ονοματολογία SDSI • Simple Distributed Security Infrastructure • Αναπτύχθηκε παράλληλα με το SPKI, και αργότερα ενοποιήθηκαν • Σύμφωνα με το SDSI 2.0 ένα βασικό όνομα αποτελείται από 2 στοιχεία: τη λέξη name και το όνομα • π.χ. • george: (name fred) • Ο george oρίζει το όνομα fred • Σύνθετα ονόματα • fred: (name sam) • george: (name fred sam)

  37. Διεθνοποίηση Ονομάτων SDSI • Κάποιες εφαρμογές απαιτούν παγκοσμίως μοναδικά ονόματα • Στην ασύμμετρη κρυπτογραφία έχουμε ήδη ένα μοναδικό χαρακτηριστικό: το ιδιωτικό κλειδί • Κάθε ιδιωτικό κλειδί σχετίζεται μοναδικά με το αντίστοιχο δημόσιο • Υπολογιστικά η σύνοψη του δημόσιου κλειδιού είναι επίσης μοναδική • Ένα όνομα SDSI παίρνει τη μορφή: • (name (ΣύνοψηΚλειδιούΕκδότη) Όνομα) • π.χ.: (name (|TLCgPLFlGTzgUbcaYLW8kGTEnUk=|) jim)

  38. Πιστοποιητικά SPKI • Πιστοποιητικά Ονομάτων • Πιστοποιούν ότι ένα όνομα ανήκει στον εκδότη του πιστοποιητικού • Δίνουν συμβολικά ονόματα σε κλειδιά ή ομάδες κλειδιών • C: (K,A,S,V) • K: Το δημόσιο κλειδί του εκδότη • Α: Τοπικό όνομα • S: Όνομα ή Κλειδί που προσδίδει επιπλέον χαρακτηριστικά στο συγκεκριμένο Όνομα • V: Διάρκεια ισχύος • Το πιστοποιητικό υπογράφεται ψηφιακά από τον εκδότη

  39. Πιστοποιητικά SPKI (2) • Πιστοποιητικά Αυθεντικοποίησης • Αυθεντικοποιούν ένα χρήστη • Αντιστοιχούν συγκεκριμένα δικαιώματα σε κλειδιά ή ομάδες κλειδιών • C: (K,S,d,T,V) • K: Το δημόσιο κλειδί του εκδότη, ο οποίος αυθεντικοποιεί τον χρήστη • S: Το υποκείμενο που αυθεντικοποιείται • d: delegation bit: Δίνει δικαίωμα μεταφοράς των συγκεκριμένων δικαιωμάτων και σε άλλα κλειδιά του ίδιου χρήστη • T: Δικαιώματα που δίνονται • V: Διάρκεια ισχύος

  40. X9.68 Domain Certificates • ANSI 2001: • Digital Certificates for Mobile/Wireless and High Transaction Volume Financial Systems • Χωρίζει ένα PKI σε domains • Χρησιμοποιεί τοπικά ονόματα στα domains • κατ’ αναλογία με SPKI • Επιβάλλει αυστηρούς συντακτικούς κανόνες • περιορίζει το μέγεθος των πιστοποιητικών και • απλουστεύσει την επεξεργασία τους

  41. X.509 vs X9.68 • X.509: Ένα πιστοποιητικό περιλαμβάνει: • Όνομα εκδότη (distinguished name) • Σειριακός Αριθμός • Όνομα κατόχου (distinguished name) • X9.68: Τα παραπάνω αντικαθίστανται από δύο πεδία: • rootName: καθορίζει τον ιδιοκτήτη του πιστοποιητικού ρίζας του domain • localName: λίστα ονομάτων που σχηματίζουν μία ιεραρχία, όπως τα σύνθετα ονόματα SDSI. • Το δεξιότερο όνομα είναι το όνομα του κατόχου • Πλεονεκτήματα X9.68 • Μικρότερο μέγεθος επειδή δε χρησιμοποιούνται DNs • Ευκολία στη δημιουργία της αλυσίδας εμπιστοσύνης

  42. Personal PKI • Δίκτυα Προσωπικών Επικοινωνιών (Personal Area Networks – PAN) • Οι χρήστες τους δεν έχουν τρόπο • Να ανταλλάξουν μυστικά συμμετρικά κλειδιά • Να προμηθευτούν δημόσια κλειδιά από μία κεντρική υποδομή PKI • Μπορεί να υλοποιηθεί μία περιορισμένη υποδομή PKI • Θεωρούμε ότι ένας κόμβος λειτουργεί σαν Personal CA • O Personal CA εκδίδει πιστοποιητικά για όλους τους χρήστες του δικτύου

  43. Προβλήματα στο Personal PKI • Ανανέωση Πιστοποιητικών και Κλειδιών • Όταν παρέλθει η ημερομηνία λήξης του πιστοποιητικού αυτό πρέπει να ανανεωθεί • Ανάκληση Πιστοποιητικών • Το ιδιωτικό κλειδί ενός χρήστη μπορεί να κλαπεί • Το ιδιωτικό κλειδί της Personal CA μπορεί να κλαπεί • Σε κάθε περίπτωση όλοι οι χρήστες του δικτύου πρέπει να ενημερωθούν • Διαχείριση εμπιστοσύνης • Η Personal CA πρέπει να είναι καθολικά έμπιστη • Πρέπει να υποστηρίζεται η ανανέωση κλειδιού της Personal CA • Η συσκευή που εκτελεί χρέη Personal CA μπορεί να κλαπεί ή να χαθεί

  44. Υλοποίηση • Πρωτόκολλο ανταλλαγής δημόσιων κλειδιών για την έκδοση πιστοποιητικών χρηστών. • Απαιτεί φυσική επαφή χρήστη-Personal CA για να εισάγει ένα αναγνωριστικό της συσκευής • Η Personal CA συλλέγει όλα τα δημόσια κλειδιά-πιστοποιητικά των χρηστών. Μόλις κάποιο λήξει ενημερώνει τον χρήστη και εκδίδει νέο αν κάτι τέτοιο απαιτείται • Ανάκληση πιστοποιητικών • Μονίμως online Personal CA: OCSP • Κατά περιόδους offline CA: περιοδικός διαμοιρασμός CRLs • Ανανέωση κλειδιών ρίζας • Διαμοιρασμός νέου πιστοποιητικού ρίζας υπογεγραμμένο με το παλιό κλειδί • Σε περίπτωση κλοπής • χρήση πολλαπλών Personal CA • Επιλογή νέας Personal CA

  45. Απαιτήσεις • Το ζεύγος κλειδιών της Personal CA πρέπει να έχει δημιουργηθεί στη συσκευή ή να έχει τοποθετηθεί με ασφάλεια στη συσκευή κατά την κατασκευή της • Η παρακολούθηση από τρίτους των μηνυμάτων που ανταλλάσσονται δε θα πρέπει να οδηγεί στην αποκάλυψη μυστικής πληροφορίας • Κανένας ωτακουστής δε θα πρέπει να μπορεί να τροποποιήσει τα μηνύματα μεταξύ κόμβων και Personal CA με τρόπο τέτοιο, ώστε να δημιουργηθεί ένα πιστοποιητικό για λανθασμένη συσκευή, ή να περιέχει μη έγκυρα στοιχεία (π.χ. διαφορετικό δημόσιο κλειδί) • Η επικοινωνία που χρειάζεται για να μεταδοθεί το root certificate της Personal CA στους κόμβους του δικτύου θα προστατεύεται τουλάχιστον από ένα «ασθενές» κοινό μυστικό (π.χ. ένα password ή PIN). Η μέθοδος που θα χρησιμοποιείται για το σκοπό αυτό θα πρέπει να είναι ανθεκτική σε επιθέσεις τύπου “brute force”

More Related