Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΠΜΣ 36 Ασφάλεια Υπολογιστικών Συστημάτων Lecture 6 Αν. Καθ. Π. Γεωργιάδης Υπ. Δρ. Κ. Παπαπαναγιώτου Δρ. Μαριάς Ιωάννης

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΠΜΣ 36 Ασφάλεια Υπολογιστικών Συστημάτων Lecture 6 Αν. Καθ. Π. Γεωργιάδης Υπ. Δρ. Κ. Παπαπαναγιώτου Δρ. Μαριάς Ιωάννης"— Μεταγράφημα παρουσίασης:

1 ΠΜΣ 36 Ασφάλεια Υπολογιστικών Συστημάτων Lecture 6 Αν. Καθ. Π. Γεωργιάδης Υπ. Δρ. Κ. Παπαπαναγιώτου Δρ. Μαριάς Ιωάννης

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

3 3ΠΜΣ 36 / 2006 Lecture 6 Kerberos Το Kerberos παρέχει υπηρεσίες αυθεντικοποίησης χρήστη σε δικτυακά και κατανεμημένα περιβάλλοντα, χρησιμοποιώντας μία έμπιστη τρίτη οντότητα (TTP) TTP αποτελεί την KDC Αναπτύχθηκε από το Project Athena του MIT Βασίζεται σε αλγορίθμους συμμετρικής κρυπτογράφησης Αυθεντικοποιεί δύο μέρη Μονομερώς (Client 2 Server) Αμοιβαία (C 2 S/ S 2C) Χωρίς να αποκαλύπτει κοινό μυστικό (π.χ., password) Χρησιμοποιεί ως βάση τον αλγόριθμο Needham – Schroeder.

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

5 5ΠΜΣ 36 / 2006 Lecture 6 Χρησιμότητα Το Kerberos αντιμετωπίζει το πρόβλημα της αυθεντικοποίησης σε ένα δικτυακό περιβάλλον, όπου διάφορες υπηρεσίες παρέχονται από ανεξάρτητα συστήματα τα οποία επικοινωνούν μεταξύ τους μέσω δικτύου Οι υπηρεσίες μπορούν να παρέχονται μόνο σε χρήστες μετά από εξουσιοδότηση Το Kerberos αντικαθιστά την ανάγκη επιμέρους αυθεντικοποίησης σε κάθε σύστημα, με ένα κεντρικό σύστημα που διαχειρίζεται όλες τις σχέσεις εμπιστοσύνης μεταξύ υπηρεσιών και χρηστών

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

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

8 8ΠΜΣ 36 / 2006 Lecture 6 Needham – Schroeder Κλειδιά Κάθε κόμβος H μοιράζεται ένα κλειδί μακράς διάρκειας K H,T με το KDC, T. Η Alice μοιράζεται ένα κλειδί μακράς διάρκειας K A,T με το KDC. Ο Bob επίσης μοιράζεται ένα κλειδί μακράς διάρκειας K B,T με το KDC. Αρχικά η Alice και ο Bob δεν μοιράζονται κάποιο κοινό κλειδί. Η Alice και ο Bob χρησιμοποιούν το KDC ώστε να αυθεντικοποιούνται ο ένας απέναντι στον άλλον (έμμεσα) και να συμφωνήσουν σε ένα κλειδί συνόδου.

9 9ΠΜΣ 36 / 2006 Lecture 6 Needham – Schroeder Το πρωτόκολλο AliceBob KDC Εγκαθίδρυση κοινού κλειδιού συνόδου Κ μεταξύ Alice και Bob μέσω ΤΤΡ n A T: A || B || N A n T A: Ε K A,T {N A || B || K || Ε K B,T {K || A}} n A B: Ε K B,T {K || A} n B A: N B n A B: Ε K {N B -1||B}

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

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

12 12ΠΜΣ 36 / 2006 Lecture 6 Στοιχεία του 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 13ΠΜΣ 36 / 2006 Lecture 6 Πρωτόκολλο C (client) S (server) KDC (Authentication Server, AS) TGS (ticket- granting server) Αίτηση για Ticket-Granting Ticket 2.Ticket-Granting Ticket 3.Αίτηση για Server Ticket 4.Server Ticket 5.Αίτηση για Service 6.Ασφαλής επικοινωνία

14 14ΠΜΣ 36 / 2006 Lecture 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 η φάση.

15 15ΠΜΣ 36 / 2006 Lecture 6 Ροή Μηνυμάτων Network security essentials (International edition), William Stallings, Prentice-Hall, ISBN:

16 16ΠΜΣ 36 / 2006 Lecture 6 Μηνύματα Authentication phase Απόκτηση Ticket-Granting Ticket (TGT) Once per user logon session 1. C  KDC: ID tgs ||ID C ||TS 1 2. KDC  C: E K c {K c,tgs || ID tgs || TS 2 || Lifetime 2 || Ticket tgs } Ticket tgs := E k kdc, tgs {K c,tgs || ID c || AD c || ID tgs || TS 2 || Lifetime 2 }

17 17ΠΜΣ 36 / 2006 Lecture 6 Μηνύματα Ticket Granting Service phase Απόκτηση Service-Granting Ticket Once per type of service 3. C  TGS: ID S || Ticket tgs ||Authenticator c 4. TGS  C: E k c,tgs {K c,s || ID s || TS 4 || Ticket s } Ticket tgs := E k kdc, tgs {K c,tgs || ID c || AD c || ID tgs || TS 2 || Lifetime 2 } Ticket s := E k s {K c,s || ID c || AD c || ID s || TS 4 || Lifetime 4 } Authenticator c := E k c,tgs {ID c || AD c || TS 3 }

18 18ΠΜΣ 36 / 2006 Lecture 6 Μηνύματα Client-Server Authentication phase Πρόσβαση σε υπηρεσία Once per service session 5. C  S: Ticket s ||Authenticator’ c 6. S  C: E k c, s {TS 5 +1} Ticket s := E k s {K c,s || ID c || AD c || ID s || TS 4 || Lifetime 4 } Authenticator’ c := E k c, s {ID c || AD c || TS 5 }

19 19ΠΜΣ 36 / 2006 Lecture 6 Αυθεντικοποίηση σε Διαφορετικά 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 πρέπει να γνωρίζει το κλειδί K KDC,TGS που ισχύει στο realm B. Ο TGS στο realm A εισάγει ένα forwardable flag στο TGT που εκδίδει. Ο Client από το realm A μπορεί να χρησιμοποιήσει το TGT στο realm B.

20 20ΠΜΣ 36 / 2006 Lecture 6 Επικοινωνία Μεταξύ Realms Network security essentials (International edition), William Stallings, Prentice-Hall, ISBN:

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

22 22ΠΜΣ 36 / 2006 Lecture 6 Ανοικτά Θέματα Ανάκληση: Τα TGT ισχύουν μέχρι να λήξουν, συνήθως σε 10 ώρες. Διαχείριση κλειδιών: μέσα σε ένα realm: Κλειδιά μακράς διαρκείας πρέπει να ανταλλαχθούν μεταξύ KDC και TGS, TGS και Server, KDC και Client. Απαιτείται συγχρονισμός των ρολογιών, εφόσον χρησιμοποιούνται χρονικές ενδείξεις. Διαθεσιμότητα: απαιτούνται online έμπιστοι KDC και TGS. Key storage: short-term keys και ticket-granting tickets είναι αποθηκευμένα σε μη προστατευόμενους client hosts. Συνθηματικά: στις περισσότερες υλοποιήσεις το κλειδί μακράς διαρκείας μεταξύ Client και KDC (K KDC,C ) βασίζεται σε ένα συνθηματικό που εισάγει ο χρήστης στην αρχή της συνόδου Επιθέσεις με χρήση λεξικού είναι δυνατές π.χ.: Τελικά η ασφάλεια του συστήματος εξαρτάται από τους χρήστες και την ποιότητα των συνθηματικών. Ευπάθειες στον Κώδικα : κάθε τόσο βρίσκονται αρκετές:

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

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

25 25ΠΜΣ 36 / 2006 Lecture 6 PGP - Pretty Good Privacy Αναπτύχθηκε από τον Phil Zimmermann το 1991 (first version) Commercial version by PGP Corp.: Freeware version : OpenPGP – RFC 2440 – Αν και μπορεί να χρησιμοποιηθεί για να κρυπτογραφήσει οποιαδήποτε δεδομένα, χρησιμοποιείται κυρίως για Υπάρχει ενσωματωμένο στους περισσότερους e- mail clients

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

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

28 28ΠΜΣ 36 / 2006 Lecture 6 Διαχείριση Κλειδιών Κάθε χρήστης μπορεί να έχει πολλά ζεύγη κλειδιών: ιδιωτικό- δημόσιο τα ζεύγη κλειδιών αποθηκεύονται σε κλειδοθήκες (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 29ΠΜΣ 36 / 2006 Lecture 6 Διαχείριση Κλειδιών Κάθε χρήστης έχει ένα πιστοποιητικό που πιστοποιεί την αντιστοιχία χρήστη-δημόσιου κλειδιού Τοπική έννοια «χρήστη» όχι καθολικό Χ.500 Το πιστοποιητικό μπορεί να υπογράψει οποιοσδήποτε τρίτος «δέχεται» την αντιστοιχία αυτή Υπάρχουν διάφορες διαβαθμίσεις εμπιστοσύνης σε αυτή την υπογραφή Όσες περισσότερες υπογραφές μαζεύει Ποιο το μοντέλο εμπιστοσύνης;

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

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

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

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

34 34ΠΜΣ 36 / 2006 Lecture 6 Πιστοποιητικό X.509

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

36 36ΠΜΣ 36 / 2006 Lecture 6 Ονοματολογία 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 37ΠΜΣ 36 / 2006 Lecture 6 Διεθνοποίηση Ονομάτων SDSI Κάποιες εφαρμογές απαιτούν παγκοσμίως μοναδικά ονόματα Στην ασύμμετρη κρυπτογραφία έχουμε ήδη ένα μοναδικό χαρακτηριστικό: το ιδιωτικό κλειδί Κάθε ιδιωτικό κλειδί σχετίζεται μοναδικά με το αντίστοιχο δημόσιο Υπολογιστικά η σύνοψη του δημόσιου κλειδιού είναι επίσης μοναδική Ένα όνομα SDSI παίρνει τη μορφή: (name (ΣύνοψηΚλειδιούΕκδότη) Όνομα) π.χ.: (name (|TLCgPLFlGTzgUbcaYLW8kGTEnUk=|) jim)

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

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

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

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

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

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

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

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


Κατέβασμα ppt "ΠΜΣ 36 Ασφάλεια Υπολογιστικών Συστημάτων Lecture 6 Αν. Καθ. Π. Γεωργιάδης Υπ. Δρ. Κ. Παπαπαναγιώτου Δρ. Μαριάς Ιωάννης"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google