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

Download Report

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

Αν. Καθ. Π. Γεωργιάδης
ΠΜΣ 36
Ασφάλεια Υπολογιστικών Συστημάτων
Lecture 6
Υπ. Δρ. Κ. Παπαπαναγιώτου [email protected]
Δρ. Μαριάς Ιωάννης [email protected]
Περιεχόμενα

Συστήματα και Πρωτόκολλα
αυθεντικοποίησης




ΠΜΣ 36 / 2006
Kerberos
Pretty Good Privacy (PGP)
Simple PKI/SDSI – ANSI X9.68
Personal PKI
Lecture 6
2
Kerberos

Το Kerberos παρέχει υπηρεσίες αυθεντικοποίησης
χρήστη σε δικτυακά και κατανεμημένα περιβάλλοντα,
χρησιμοποιώντας μία έμπιστη τρίτη οντότητα (TTP)


Αναπτύχθηκε από το Project Athena του MIT



http://web.mit.edu/kerberos/www/
Βασίζεται σε αλγορίθμους συμμετρικής
κρυπτογράφησης
Αυθεντικοποιεί δύο μέρη




ΠΜΣ 36 / 2006
TTP αποτελεί την KDC
Μονομερώς (Client 2 Server)
Αμοιβαία (C 2 S/ S 2C)
Χωρίς να αποκαλύπτει κοινό μυστικό (π.χ., password)
Χρησιμοποιεί ως βάση τον αλγόριθμο Needham – Schroeder.
Lecture 6
3
Kerberos

Χρησιμοποιείται, μεταξύ άλλων, στα Windows
2000 για την αυθεντικοποίηση των χρηστών
στο σύστημα και τη χρήση δικτυακών πόρων



Χρησιμοποιείται και για να υποστηρίξει
εφαρμογές Single Sign On (SSO)
Τελευταία έκδοση: v5 (RFC 1510)

ΠΜΣ 36 / 2006
Το κοινό μυστικό είναι ένα κλειδί που βασίζεται
στο συνθηματικό του χρήστη
H v4 χρησιμοποιείται ακόμα, ενώ οι εκδόσεις 1-3
δεν δημοσιεύτηκαν
Lecture 6
4
Χρησιμότητα



ΠΜΣ 36 / 2006
Το Kerberos αντιμετωπίζει το πρόβλημα της
αυθεντικοποίησης σε ένα δικτυακό περιβάλλον, όπου
διάφορες υπηρεσίες παρέχονται από ανεξάρτητα
συστήματα τα οποία επικοινωνούν μεταξύ τους μέσω
δικτύου
Οι υπηρεσίες μπορούν να παρέχονται μόνο σε
χρήστες μετά από εξουσιοδότηση
Το Kerberos αντικαθιστά την ανάγκη επιμέρους
αυθεντικοποίησης σε κάθε σύστημα, με ένα κεντρικό
σύστημα που διαχειρίζεται όλες τις σχέσεις
εμπιστοσύνης μεταξύ υπηρεσιών και χρηστών
Lecture 6
5
Απαιτήσεις


Ασφάλεια: Ένας ωτακουστής δεν θα πρέπει να μπορεί να
χρησιμοποιήσει τις πληροφορίες που λαμβάνει για να ιδιοποιηθεί
την ταυτότητα ενός χρήστη
Αξιοπιστία: Εφόσον ο έλεγχος πρόσβασης στις υπηρεσίες
γίνεται από το Kerberos, πιθανή έλλειψη διαθεσιμότητάς του θα
συνεπάγεται και μη διαθεσιμότητα των υπηρεσιών. Συνεπώς ο
Kerberos θα πρέπει να είναι πάντα διαθέσιμος



Διαφάνεια: Ο χρήστης δεν θα πρέπει να αντιλαμβάνεται την
ύπαρξη του συστήματος ελέγχου προσπέλασης, πέρα από την
απαίτηση εισαγωγής ενός συνθηματικού.
Κλιμάκωση: Πρέπει να μπορεί να υποστηρίξει μεγάλο αριθμό
clients και servers,

ΠΜΣ 36 / 2006
υλοποιείται μέσα από μια κατανεμημένη αρχιτεκτονική (κατά specs)
μέσα από μία κατανεμημένη αρχιτεκτονική domains (realms)
Lecture 6
6
Διανομή Κλειδιών μέσω TTP

Σενάριο με συμμετρικά κλειδιά





Θα μπορούσαν να χρησιμοποιηθούν αλγόριθμοι
ασύμμετρης κρυπτογραφίας
Εναλλακτικά, θα μπορούσε να χρησιμοποιηθεί μία
έμπιστη τρίτη οντότητα (KDC) που θα βοηθά τους
χρήστες να αυθεντικοποιούνται μόνο απέναντί της


ΠΜΣ 36 / 2006
Δίκτυο n κόμβων
Κάθε ζεύγος κόμβων θέλει να επικοινωνήσει με ασφάλεια
Απαιτούνται n(n-1)/2 κλειδιά και κάθε κόμβος πρέπει να
διαθέτει n-1 κλειδιά
Κατόπιν μοιράζονται κλειδιά συνόδου (διάλεξη 2η)
Τελικά: Χρήση πρωτοκόλλου Needham - Schroeder
Lecture 6
7
Needham – Schroeder
Κλειδιά

Κάθε κόμβος H μοιράζεται ένα κλειδί μακράς
διάρκειας KH,T με το KDC, T.




ΠΜΣ 36 / 2006
Η Alice μοιράζεται ένα κλειδί μακράς διάρκειας KA,T με το
KDC.
Ο Bob επίσης μοιράζεται ένα κλειδί μακράς διάρκειας KB,T με
το KDC.
Αρχικά η Alice και ο Bob δεν μοιράζονται κάποιο κοινό κλειδί.
Η Alice και ο Bob χρησιμοποιούν το KDC ώστε να
αυθεντικοποιούνται ο ένας απέναντι στον άλλον
(έμμεσα) και να συμφωνήσουν σε ένα κλειδί
συνόδου.
Lecture 6
8
Needham – Schroeder
Το πρωτόκολλο
KDC
1
2
Alice
Εγκαθίδρυση κοινού κλειδιού συνόδου Κ
μεταξύ 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}
3
Bob
4
5
ΠΜΣ 36 / 2006
Lecture 6
9
Needham – Schroeder
Αναλυτικά
1: Η Alice στέλνει στο KDC ένα μήνυμα που περιέχει το
όνομα της, το όνομα του Βob και ένα τυχαίο αριθμό
(ή αύξοντα)
2: Το KDC δημιουργεί ένα (ψευδο)τυχαίο κλειδί
συνόδου, το οποίο το δίνει στην Alice.
Στο στάδιο αυτό αυθεντικοποιείται απέναντι στην Alice.
3: H Alice στέλνει το κλειδί συνόδου κρυπτογραφημένο
από KDC στον Bob.
4: O Bob στέλνει στην Alice ένα τυχαίο αριθμό (ή
αύξοντα)
5: Η Αlice αυθεντικοποιείται απέναντι στον Bob
χρησιμοποιώντας το κλειδί συνόδου K που πλέον
μπορούν και να μοιράζονται
ΠΜΣ 36 / 2006
Lecture 6
10
Πλεονεκτήματα - Μειονεκτήματα

Πλεονεκτήματα





Απαιτούνται μόνο n κλειδιά στο KDC
Απαιτείται μόνο ένα κλειδί μακράς διάρκειας στον κάθε
κόμβο (αντί n-1)
Χρήση Συμμετρικής Κρυπτογραφίας
Ο Βob μπορεί να είναι offline στα βήματα 1 και 2, ομοίως και
o KDC στα βήματα 3,4,5.
Μειονεκτήματα

KDC: Μοναδικό σημείο κατάρρευσης



ΠΜΣ 36 / 2006
Φόρτος μηνυμάτων στο KDC
Απαίτηση για έμπιστο KDC
Απαίτηση για καλή διαχείριση κλειδιών μακράς διαρκείας από
τους κόμβους
Lecture 6
11
Στοιχεία του Kerberos

Kerberos Key Distribution Centre (KDC)



Ticket Granting Servers (TGSs)


Παρέχουν υπηρεσίες σε clients βασιζόμενοι στην αυθεντικοποίηση
που πραγματοποιούν οι KDC και TGS
Realm

ΠΜΣ 36 / 2006
Χρήστες που επιθυμούν να έχουν πρόσβαση σε υπηρεσίες που
παρέχονται από servers του δικτύου
Server


Εκδίδουν εισιτήρια προς οντότητες που ζητούν πρόσβαση σε
δικτυακές υπηρεσίες
Client


γνωστό και σαν Kerberos Authentication Server (KAS)
αυθεντικοποιεί χρήστες (ή και άλλες οντότητες) και εκδίδει
εισιτήρια, τα οποία είναι έγκυρα για μία σύνοδο
To σύνολο των client και server που διαχειριστικά ανήκουν σε ένα
ζεύγος KDC/TGS
Lecture 6
12
Πρωτόκολλο
TGS
KDC
(ticketgranting
server)
(Authentication
Server, AS)
2
1
C
(client)
3
1.
2.
3.
4.
5.
6.
Αίτηση για Ticket-Granting Ticket
Ticket-Granting Ticket
Αίτηση για Server Ticket
Server Ticket
Αίτηση για Service
Ασφαλής επικοινωνία
4
5
S
(server)
6
ΠΜΣ 36 / 2006
Lecture 6
13
Φάσεις του πρωτοκόλλου




ΠΜΣ 36 / 2006
Φάση 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η φάση.
Lecture 6
14
Ροή Μηνυμάτων
Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715
ΠΜΣ 36 / 2006
Lecture 6
15
Μηνύματα
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 }
ΠΜΣ 36 / 2006
Lecture 6
16
Μηνύματα
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}
ΠΜΣ 36 / 2006
Lecture 6
17
Μηνύματα
Client-Server Authentication phase
 Πρόσβαση σε υπηρεσία
 Once per service session
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}
ΠΜΣ 36 / 2006
Lecture 6
18
Αυθεντικοποίηση σε Διαφορετικά
Realms

Το Kerberos υποστηρίζει αυθεντικοποίηση σε
διαφορετικά realms



Clients που ανήκουν σε ένα realms μπορούν να έχουν
πρόσβαση σε servers άλλου realm.
Απαιτείται προ-συμφωνία μεταξύ των σχετικών KDC/TGS.
Χρησιμοποιούνται forwardable tickets.


Ένας Client στο realm A ζητεί ένα TGT από τον TGS για να
το χρησιμοποιήσει σε ένα άλλο realm B.
Ο TGS του realm A δίνει ένα TGT για το realm B.



ΠΜΣ 36 / 2006
Ο TGS πρέπει να γνωρίζει το κλειδί KKDC,TGS που ισχύει στο realm
B.
Ο TGS στο realm A εισάγει ένα forwardable flag στο TGT που
εκδίδει.
Ο Client από το realm A μπορεί να χρησιμοποιήσει το TGT
στο realm B.
Lecture 6
19
Επικοινωνία Μεταξύ Realms
Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715
ΠΜΣ 36 / 2006
Lecture 6
20
Διαφορές v4 – v5




ΠΜΣ 36 / 2006
To v4 χρησιμοποιεί DES ενώ το v5 μπορεί να
χρησιμοποιήσει οποιονδήποτε αλγόριθμο.
Το v4 βασίζεται στις διευθύνσεις του
πρωτοκόλλου IP ενώ το v5 μπορεί να
χρησιμοποιήσει οποιεσδήποτε διευθύνσεις.
Τα εισιτήρια στο v4 μπορούν να είναι μέχρι 21
ώρες, ενώ στο v5 έχουν συγκεκριμένους
χρόνους αρχής και τέλους.
Τα μηνύματα 2 και 4 κρυπτογραφούνταν 2
φορές στη v4.
Lecture 6
21
Ανοικτά Θέματα






Ανάκληση: Τα 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) βασίζεται σε ένα συνθηματικό
που εισάγει ο χρήστης στην αρχή της συνόδου




ΠΜΣ 36 / 2006
Επιθέσεις με χρήση λεξικού είναι δυνατές
π.χ.: http://citeseer.ist.psu.edu/wu99realworld.html
Τελικά η ασφάλεια του συστήματος εξαρτάται από τους χρήστες και την
ποιότητα των συνθηματικών.
Ευπάθειες στον Κώδικα : κάθε τόσο βρίσκονται αρκετές:
http://web.mit.edu/kerberos/www/advisories/
Lecture 6
22
Single Sign On (SSO)




ΠΜΣ 36 / 2006
O Kerberos είναι ένα παράδειγμα συστήματος
Single Sign On (SSO).
Ο χρήστης εισάγει ένα μόνο συνθηματικό για
να αποκτήσει πρόσβαση σε πολλαπλές
υπηρεσίες και εφαρμογές.
Microsoft Passport: παράδειγμα web-based
εφαρμογής SSO solution.
Liberty Alliance: μία ανοικτή προσπάθεια
δημιουργίας προτύπων για την επίτευξη μιας
federated network identity, έννοιας που
σχετίζεται με το SSO.
Lecture 6
23
PGP - Pretty Good Privacy

Παρέχει σε μηνύματα υπηρεσίες




Παρέχει Υπηρεσίες Key management



Generation, distribution, revocation of
public/private keys
Generation distribution of session keys
Δεν απαιτεί την ύπαρξη κεντρικών Αρχών
Πιστοποίησης (CA)

ΠΜΣ 36 / 2006
Αυθεντικοποίησης της πηγής προέλευσης
Confidentiality
Compression
Κάθε κόμβος είναι CA
Lecture 6
24
PGP - Pretty Good Privacy

Αναπτύχθηκε από τον Phil Zimmermann το
1991 (first version)



OpenPGP – RFC 2440 –


www.ietf.org/html.charters/openpgp-charter.html
Αν και μπορεί να χρησιμοποιηθεί για να
κρυπτογραφήσει οποιαδήποτε δεδομένα,
χρησιμοποιείται κυρίως για e-mail

ΠΜΣ 36 / 2006
Commercial version by PGP Corp.: www.pgp.com
Freeware version : www.pgpi.org
Υπάρχει ενσωματωμένο στους περισσότερους email clients
Lecture 6
25
Αυθεντικοποίηση/
Κρυπτογράφηση στο PGP






Χρησιμοποιεί συνδυασμό ασύμμετρης και συμμετρικής
κρυπτογραφίας
Ο αποστολέας κρυπτογραφεί χρησιμοποιώντας συμμετρικούς
αλγορίθμους και ένα κλειδί συνόδου το μήνυμα
Το κλειδί συνόδου κρυπτογραφείται με το δημόσιο κλειδί του
παραλήπτη και αποστέλλεται μαζί με το μήνυμα
Ο παραλήπτης αποκρυπτογραφεί το κλειδί συνόδου
χρησιμοποιώντας το ιδιωτικό του κλειδί
Με το κλειδί συνόδου αποκρυπτογραφεί το μήνυμα
Υποστηριζόμενοι αλγόριθμοι


ΠΜΣ 36 / 2006
Συμμετρικοί: DES, 3DES, AES, κλπ.
Ασύμμετροι: RSA, El Gamal, κλπ.
Lecture 6
26
Αυθεντικοποίηση/
Κρυπτογράφηση στο PGP
Δημόσιο
κλειδί
παραλήπτη
Κλειδί
συνόδου
Μήνυμα
Ιδιωτικό
κλειδί
παραλήπτη
Κρυπτογραφημένο
κλειδί συνόδου
Κλειδί
συνόδου
Αποκρυπτογράφηση
Κρυπτογράφηση
Μήνυμα
Κρυπτογραφημένο
μήνυμα
ΠΜΣ 36 / 2006
Lecture 6
27
Διαχείριση Κλειδιών

Κάθε χρήστης μπορεί να έχει πολλά ζεύγη κλειδιών: ιδιωτικόδημόσιο

τα ζεύγη κλειδιών αποθηκεύονται σε κλειδοθήκες (key rings)

Private key ring


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


ΠΜΣ 36 / 2006
Αποθηκεύει τα ζεύγη public– private keys που ανήκουν στον ιδιοκτήτη
Σχεδόν σίγουρα μοναδικό για ένα χρήστη
DEADBEEF attack
Lecture 6
28
Διαχείριση Κλειδιών

Κάθε χρήστης έχει ένα πιστοποιητικό που
πιστοποιεί την αντιστοιχία χρήστη-δημόσιου
κλειδιού


Τοπική έννοια «χρήστη» όχι καθολικό Χ.500
Το πιστοποιητικό μπορεί να υπογράψει
οποιοσδήποτε τρίτος «δέχεται» την
αντιστοιχία αυτή

Υπάρχουν διάφορες διαβαθμίσεις εμπιστοσύνης σε
αυτή την υπογραφή


ΠΜΣ 36 / 2006
Όσες περισσότερες υπογραφές μαζεύει
Ποιο το μοντέλο εμπιστοσύνης;
Lecture 6
29
Web of Trust
Owner Trust
 Επίπεδα εμπιστοσύνης που τίθενται από χρήστη
 Κάθε χρήστης μπορεί να αποκτήσει μία ή
περισσότερες υπογραφές για το πιστοποιητικό του



ΠΜΣ 36 / 2006
αυξάνει την αξιοπιστία του
Εάν ο χρήστης Α εμπιστεύεται το πιστοποιητικό του Β
και ο Β εμπιστεύεται το πιστοποιητικό του Γ, τότε ο Α
μπορεί να εμπιστευτεί το πιστοποιητικό του Γ
Η αλυσίδα εμπιστοσύνης μπορεί να εξαρτάται από το
βαθμό εμπιστοσύνης σε κάθε πιστοποιητικό
ξεχωριστά
Lecture 6
30
Web of Trust

Σε νεότερες εκδόσεις εισάγεται η έννοια των
«υπογραφών εμπιστοσύνης» που μπορούν να
υποστηρίξουν τη δημιουργία Αρχών
Πιστοποίησης


ΠΜΣ 36 / 2006
Η «υπογραφή εμπιστοσύνης» επιβεβαιώνει την
αντιστοιχία κλειδιού-οντότητας και διαβεβαιώνει
πως ο ιδιοκτήτης του κλειδιού είναι αρκετά
έμπιστος να υπογράφει άλλα πιστοποιητικά
Μία μορφή distributed CAs
Lecture 6
31
Εναλλακτικές Υποδομές
Δημόσιου Κλειδιού

Ψηφιακά Πιστοποιητικά

Συνδέουν ονόματα με κλειδιά



Δημόσια διαθέσιμες λίστες πιστοποιητικών
δημιουργούν ένα τύπο «τηλεφωνικών» καταλόγων
Kohnfelder (1978):

ΠΜΣ 36 / 2006
Δημόσια άμεσα, άρα και ιδιωτικά έμμεσα
Εάν δεν υπάρχει άμεσος και αξιόπιστος τρόπος
διαμοιρασμού των κλειδιών, καλύτερα να εμπιστευτούμε
κάποια έμπιστη τρίτη οντότητα
Lecture 6
32
Καθολικά Ονόματα

Χ.500 και X.509


Distinguished Name: ένα παγκόσμιο όνομα που
χαρακτηρίζει μοναδικά μία οντότητα.
Εύκολα υλοποιήσιμο σε μικρές κοινωνίες


Μη εφικτό σε παγκόσμια κλίμακα


ΠΜΣ 36 / 2006
Όλοι είναι γνωστοί με τα ονόματά τους
Δεν υπάρχει παγκόσμιος κανόνας ονοματοδοσίας
Πολλές εταιρίες δραστηριοποιούνται στο χώρο, δίνοντας
η καθεμία ονόματα με διαφορετικό τρόπο
Lecture 6
33
Πιστοποιητικό X.509
ΠΜΣ 36 / 2006
Lecture 6
34
SPKI





ΠΜΣ 36 / 2006
Simple PKI
Χρησιμοποιεί «τοπικά» ονόματα
Δεν απαιτείται να είναι καθολικά μοναδικά
Πρέπει να είναι μοναδικά στα πλαίσια της
οντότητας που τα διαχειρίζεται
Διευκολύνει τη δημιουργία λιστών ελέγχου
πρόσβασης (ACL – Access Control Lists)
Lecture 6
35
Ονοματολογία SDSI




Simple Distributed Security Infrastructure
Αναπτύχθηκε παράλληλα με το SPKI, και αργότερα
ενοποιήθηκαν
Σύμφωνα με το SDSI 2.0 ένα βασικό όνομα
αποτελείται από 2 στοιχεία: τη λέξη name και το
όνομα
π.χ.

george: (name fred)


Σύνθετα ονόματα


ΠΜΣ 36 / 2006
Ο george oρίζει το όνομα fred
fred: (name sam)
george: (name fred sam)
Lecture 6
36
Διεθνοποίηση Ονομάτων SDSI





Κάποιες εφαρμογές απαιτούν παγκοσμίως μοναδικά
ονόματα
Στην ασύμμετρη κρυπτογραφία έχουμε ήδη ένα
μοναδικό χαρακτηριστικό: το ιδιωτικό κλειδί
Κάθε ιδιωτικό κλειδί σχετίζεται μοναδικά με το
αντίστοιχο δημόσιο
Υπολογιστικά η σύνοψη του δημόσιου κλειδιού είναι
επίσης μοναδική
Ένα όνομα SDSI παίρνει τη μορφή:


ΠΜΣ 36 / 2006
(name (ΣύνοψηΚλειδιούΕκδότη) Όνομα)
π.χ.: (name (|TLCgPLFlGTzgUbcaYLW8kGTEnUk=|) jim)
Lecture 6
37
Πιστοποιητικά SPKI

Πιστοποιητικά Ονομάτων



Πιστοποιούν ότι ένα όνομα ανήκει στον εκδότη του
πιστοποιητικού
Δίνουν συμβολικά ονόματα σε κλειδιά ή ομάδες κλειδιών
C: (K,A,S,V)





ΠΜΣ 36 / 2006
K: Το δημόσιο κλειδί του εκδότη
Α: Τοπικό όνομα
S: Όνομα ή Κλειδί που προσδίδει επιπλέον χαρακτηριστικά στο
συγκεκριμένο Όνομα
V: Διάρκεια ισχύος
Το πιστοποιητικό υπογράφεται ψηφιακά από τον εκδότη
Lecture 6
38
Πιστοποιητικά SPKI (2)

Πιστοποιητικά Αυθεντικοποίησης



Αυθεντικοποιούν ένα χρήστη
Αντιστοιχούν συγκεκριμένα δικαιώματα σε κλειδιά
ή ομάδες κλειδιών
C: (K,S,d,T,V)





ΠΜΣ 36 / 2006
K: Το δημόσιο κλειδί του εκδότη, ο οποίος αυθεντικοποιεί
τον χρήστη
S: Το υποκείμενο που αυθεντικοποιείται
d: delegation bit: Δίνει δικαίωμα μεταφοράς των
συγκεκριμένων δικαιωμάτων και σε άλλα κλειδιά του
ίδιου χρήστη
T: Δικαιώματα που δίνονται
V: Διάρκεια ισχύος
Lecture 6
39
X9.68 Domain Certificates

ANSI 2001:



Χωρίζει ένα PKI σε domains
Χρησιμοποιεί τοπικά ονόματα στα domains


κατ’ αναλογία με SPKI
Επιβάλλει αυστηρούς συντακτικούς κανόνες


ΠΜΣ 36 / 2006
Digital Certificates for Mobile/Wireless and High
Transaction Volume Financial Systems
περιορίζει το μέγεθος των πιστοποιητικών και
απλουστεύσει την επεξεργασία τους
Lecture 6
40
X.509 vs X9.68

X.509: Ένα πιστοποιητικό περιλαμβάνει:




Όνομα εκδότη (distinguished name)
Σειριακός Αριθμός
Όνομα κατόχου (distinguished name)
X9.68: Τα παραπάνω αντικαθίστανται από δύο πεδία:




Πλεονεκτήματα X9.68


ΠΜΣ 36 / 2006
rootName: καθορίζει τον ιδιοκτήτη του πιστοποιητικού ρίζας
του domain
localName: λίστα ονομάτων που σχηματίζουν μία ιεραρχία,
όπως τα σύνθετα ονόματα SDSI.
Το δεξιότερο όνομα είναι το όνομα του κατόχου
Μικρότερο μέγεθος επειδή δε χρησιμοποιούνται DNs
Ευκολία στη δημιουργία της αλυσίδας εμπιστοσύνης
Lecture 6
41
Personal PKI


Δίκτυα Προσωπικών Επικοινωνιών (Personal
Area Networks – PAN)
Οι χρήστες τους δεν έχουν τρόπο



Μπορεί να υλοποιηθεί μία περιορισμένη
υποδομή PKI


ΠΜΣ 36 / 2006
Να ανταλλάξουν μυστικά συμμετρικά κλειδιά
Να προμηθευτούν δημόσια κλειδιά από μία
κεντρική υποδομή PKI
Θεωρούμε ότι ένας κόμβος λειτουργεί σαν
Personal CA
O Personal CA εκδίδει πιστοποιητικά για όλους
τους χρήστες του δικτύου
Lecture 6
42
Προβλήματα στο Personal PKI

Ανανέωση Πιστοποιητικών και Κλειδιών


Ανάκληση Πιστοποιητικών




Το ιδιωτικό κλειδί ενός χρήστη μπορεί να κλαπεί
Το ιδιωτικό κλειδί της Personal CA μπορεί να κλαπεί
Σε κάθε περίπτωση όλοι οι χρήστες του δικτύου πρέπει να
ενημερωθούν
Διαχείριση εμπιστοσύνης



ΠΜΣ 36 / 2006
Όταν παρέλθει η ημερομηνία λήξης του πιστοποιητικού αυτό
πρέπει να ανανεωθεί
Η Personal CA πρέπει να είναι καθολικά έμπιστη
Πρέπει να υποστηρίζεται η ανανέωση κλειδιού της Personal
CA
Η συσκευή που εκτελεί χρέη Personal CA μπορεί να κλαπεί ή
να χαθεί
Lecture 6
43
Υλοποίηση

Πρωτόκολλο ανταλλαγής δημόσιων κλειδιών για την έκδοση
πιστοποιητικών χρηστών.



Η Personal CA συλλέγει όλα τα δημόσια κλειδιά-πιστοποιητικά
των χρηστών. Μόλις κάποιο λήξει ενημερώνει τον χρήστη και
εκδίδει νέο αν κάτι τέτοιο απαιτείται
Ανάκληση πιστοποιητικών



Απαιτεί φυσική επαφή χρήστη-Personal CA για να εισάγει ένα
αναγνωριστικό της συσκευής
Μονίμως online Personal CA: OCSP
Κατά περιόδους offline CA: περιοδικός διαμοιρασμός CRLs
Ανανέωση κλειδιών ρίζας


Διαμοιρασμός νέου πιστοποιητικού ρίζας υπογεγραμμένο με το
παλιό κλειδί
Σε περίπτωση κλοπής


ΠΜΣ 36 / 2006
χρήση πολλαπλών Personal CA
Επιλογή νέας Personal CA
Lecture 6
44
Απαιτήσεις




ΠΜΣ 36 / 2006
Το ζεύγος κλειδιών της Personal CA πρέπει να έχει δημιουργηθεί στη
συσκευή ή να έχει τοποθετηθεί με ασφάλεια στη συσκευή κατά την
κατασκευή της
Η παρακολούθηση από τρίτους των μηνυμάτων που ανταλλάσσονται δε
θα πρέπει να οδηγεί στην αποκάλυψη μυστικής πληροφορίας
Κανένας ωτακουστής δε θα πρέπει να μπορεί να τροποποιήσει τα
μηνύματα μεταξύ κόμβων και Personal CA με τρόπο τέτοιο, ώστε να
δημιουργηθεί ένα πιστοποιητικό για λανθασμένη συσκευή, ή να περιέχει
μη έγκυρα στοιχεία (π.χ. διαφορετικό δημόσιο κλειδί)
Η επικοινωνία που χρειάζεται για να μεταδοθεί το root certificate της
Personal CA στους κόμβους του δικτύου θα προστατεύεται τουλάχιστον
από ένα «ασθενές» κοινό μυστικό (π.χ. ένα password ή PIN). Η
μέθοδος που θα χρησιμοποιείται για το σκοπό αυτό θα πρέπει να είναι
ανθεκτική σε επιθέσεις τύπου “brute force”
Lecture 6
45