ΤΟ ΣΥΣΤΗΜΑ ΠΙΣΤΟΠΟΙΗΣΗΣ ΑΥΘΕΝΙΚΟΤΗΤΑΣ ΚΕΡΒΕΡΟΣ
ΚΕΡΒΕΡΟΣ Ένας σταθµός εργασίας δε µπορεί να θεωρηθεί από µόνος του αξιόπιστος. Κέρβερος: Έµπιστη τριµερής υπηρεσία πιστοποίησης. Έµπιστη: Κάθε εξυπηρετούµενος εµπιστεύεται τη κρίση του Κέρβερου για τη ταυτότητα των άλλων. Αναπτύχθηκε στο MIT µε σκοπόναπροσφέρει ασφάλεια σε κατανεµηµέναυπολογιστικάσυστήµατα.
ΟΡΟΛΟΓΙΑ (1/2) Χρήστης: Οάνθρωποςπουχρησιµοποιεί ένα πρόγραµµα που χρειάζεται τον Κέρβερο. Εξυπηρετούµενος: Το ίδιο µε παραπάνω, αλλά εφαρµογή. Εξυπηρέτης: Το κοµµάτι της client/server εφαρµογής. Εντολέας (principal): κάθε πελάτης του Κέρβερου. Εξυπηρέτης-Υπηρεσία.
ΟΡΟΛΟΓΙΑ (2/2) Κλειδί: Ο Κέρβερος κάνει χρήση κρυπτογράφησης ιδιωτικού κλειδιού. Κάθε εντολέας κατέχει ένα, γνωστό µόνο σε αυτόν και τον Κέρβερο. Στην περίπτωση του χρήστη προκύπτει από εφαρµογή µονόδροµης συνάρτησης κατακερµατισµού στο password του χρήστη. Κύριος-εξαρτηµένος: Είναι δυνατόν ο Κέρβερος να εκτελεστεί σε περισσότερες από µια µηχανές. Παρόλα αυτά υπάρχει µόνο µια κύρια Β του Κέρβερου. ΟΗ/Υ πουέχειτηβάσηαυτήλέγεταικύριοςκαιοιυπόλοιποι που έχουν Β. µόνο για ανάγνωση ονοµάζονται «εξαρτηµένοι».
ΟΚΕΡΒΕΡΟΣ(1/2) Κάθε χρήστης αναπαριστάται από τριάδα Primaryname: Το αναγνωριστικό του χρήστη. Instance: ηλώνει τα δικαιώµατα του χρήστη (π.χ. Root). Realm: Χρήση για διάκριση µεταξύ διαφορετικών περιοχών πιστοποίησης. Βασίζεται σε απόκτηση κουπονιών (tokens) από το χρήστη από έµπιστους εξυπηρέτες. Τα κουπόνια έχουν συγκεκριµένη χρονική διάρκεια. Τα κουπόνια είναι απαραίτητα για πρόσβαση σε υπηρεσίες του δικτύου.
ΟΚΕΡΒΕΡΟΣ(2/2) Απόκτηση/καταστροφή token: Αυτόµατα κατά τη σύνδεση/αποσύνδεση του χρήστη στο σύστηµα. Χρονοσφραγίδες: Μεγάλοι αριθµοί που αναπαριστούν ηµεροµηνία & ώρα. Προστίθενται στα κουπόνια για να ανιχνεύσουν επαναµετάδοση. Επαναµετάδοση γίνεται όταν ένα κουπόνι υποκλαπεί και επαναχρησιµοποιηθεί σε µελλοντικό χρόνο.
ΛΕΙΤΟΥΡΓΙΑ ΚΕΡΒΕΡΟΥ (1/5) Ο Κέρβερος κρατάει µια Β µε όλους τους πελάτες και τα ιδιωτικά κλειδιά τους. Το ιδιωτικό κλειδί ενός πελάτη είναι γνωστό µόνο στον Κέρβερο και στον ιδιοκτήτη του. Το ιδιωτικό κλειδί ενός πελάτη προκύπτει από το password του µονόδροµα. Κάθε υπηρεσία που απαιτεί πιστοποίηση καταχωρείται στον Κέρβερο το ίδιο και οι πελάτες. Τα ιδιωτικά κλειδιά διαπραγµατεύονται κατά την καταχώρηση.
ΛΕΙΤΟΥΡΓΙΑ ΚΕΡΒΕΡΟΥ (2/5) Προσωρινό κλειδί συνόδου: ίνεται από τον Κέρβερο σε δύο πελάτες για κρυπτογράφηση των µεταξύ τους µηνυµάτων. Ο Κέρβερος παρέχει τρία επίπεδα προστασίας. Ο προγραµµατιστής της εφαρµογήςαποφασίζειτιθα χρησιµοποιηθεί: Πιστοποίηση µόνο κατά την έναρξη της σύνδεσης. Πιστοποίηση για κάθε µήνυµα. Πιστοποίηση για κάθε µήνυµα και κρυπτογράφηση του µηνύµατος.
ΛΕΙΤΟΥΡΓΙΑ ΚΕΡΒΕΡΟΥ (3/5) Υπάρχουν δυο ειδών διαπιστευτήρια: Εισιτήρια και πιστοποιητές. Και τα δύο χρησιµοποιούν κρυπτογράφηση ιδιωτικού κλειδιού αλλά χρησιµοποιούν διαφορετικά κλειδιά. Εισιτήριο: Χρησιµοποιείται για να περάσει τη ταυτότητα κάποιου στον εξυπηρέτη πιστοποίησης στον εξυπηρέτη εφαρµογής. Πιστοποιητής: Πρόσθετες πληροφορίες που επιβεβαιώνουν ότι ο χρήστης του εισιτηρίου είναι αυτός για τον οποίο εκδόθηκε..
ΛΕΙΤΟΥΡΓΙΑ ΚΕΡΒΕΡΟΥ (4/5) Το εισιτήριο περιέχει: Το Όνοµα εξυπηρέτη& εξυπηρετούµενου, Την IP διεύθυνση εξυπηρετούµενου, Μια χρονοσφραγίδα, Το χρόνο ζωής εισιτηρίου, Ένα τυχαίο κλειδί συνόδου. Είναι δυνατή η πολλαπλή χρήση του εισιτηρίου για το συγκεκριµένο ζεύγος εξυπηρετούµενου-εξυπηρέτη, έως ότου αυτό λήξει.
ΛΕΙΤΟΥΡΓΙΑ ΚΕΡΒΕΡΟΥ (5/5) Πιστοποιητής: ηµιουργείται κάθε φορά που ο εξυπηρετούµενος. Περιέχει: Το όνοµα εξυπηρετούµενου, την ΙP διεύθυνση εξυπηρέτη, Τον τρέχοντα χρόνο. Ο πιστοποιητής κρυπτογραφείται µε τοκλειδίσυνόδου που βρίσκεται στο εισιτήριο.
ΠΑΡΑΛΑΒΗ ΑΡΧΙΚΟΥ ΕΙΣΙΤΗΡΙΟΥ (1/4) Ζητείταιαπότοχρήστητοόνοµάτου(username) και στέλνεται αίτηση στον εξυπηρέτη πιστοποίησης, που περιέχει µετοόνοµατουχρήστηκαιτοόνοµατης Υπηρεσίας Έκδοσης Εισιτηρίου (TGS). Αν η υπηρεσία πιστοποίησης γνωρίζει τον εξυπηρέτη, δηµιουργεί τυχαίο κλειδί συνόδου Κ c, TGS που θα χρησιµοποιηθεί αργότερα µεταξύ εξυπηρετούµενου και TGS.
ΠΑΡΑΛΑΒΗ ΑΡΧΙΚΟΥ ΕΙΣΙΤΗΡΙΟΥ(2/4) ηµιουργείται εισιτήριο για τον TGS T c,tgs που περιέχει: Όνοµαεξυπηρετούµενου, όνοµα TGS, τρέχοντα χρόνο, χρόνο ζωής εισιτηρίου, IP διεύθυνση client κλειδί συνόδου. Το εισιτήριο κρυπτογραφείται µεκλειδίk TGS γνωστό στον εκδότη εισιτηρίων και στον εξυπηρέτη πιστοποίησης.
ΠΑΡΑΛΑΒΗ ΑΡΧΙΚΟΥ ΕΙΣΙΤΗΡΙΟΥ(3/4) Αποστολή {Κ c,tgs {T c,tgs } Κ TGS }Κ c στον εξυπηρετούµενο. Όταν φτάσει στον client, ζητείται ο κωδικός πρόσβασης. Αυτός παράγει το K c το οποίο αποκρυπτογραφεί το µήνυµα. Οεξυπηρετούµενος έχει πλέον στη διάθεση του ένα εισιτήριο για τον TGS, το οποίο θα χρησιµεύσει στην έκδοση εισιτηριών για πρόσβαση σε υπηρεσίες Τον πιστοποιητή Χρήση εισιτηρίου για χρονικό διάστηµαισχύοςτου.
ΠΑΡΑΛΑΒΗ ΑΡΧΙΚΟΥ ΕΙΣΙΤΗΡΙΟΥ(4/4) ΑΙΤΗΣΗ ΕΙΣΙΤΗΡΙΟΥ ΠΕΛΑΤΗΣ c, tgs ΕΞΥΠΗΡΕΤΗΣ ΠΕΛΑΤΗΣ {K c, TGS, {T c, TGS }K TGS }K c ΕΞΥΠΗΡΕΤΗΣ
ΑΙΤΗΣΗ ΕΙΣΙΤΗΡΙΟΥ ΓΙΑ ΥΠΗΡΕΣΙΑ ηµιουργία αίτησης προς τον TGS για έκδοση εισιτηρίου. ΠΑΡΑΛΑΒΗ ΕΙΣΙΤΗΡΙΟΥ ΠΕΛΑΤΗΣ TGS s, {T c,tgs }K TGS, {A c }K c,tgs ΠΕΛΑΤΗΣ {{T c,s }K s, K c,s }K c, TGS TGS
ΑΙΤΗΣΗ ΥΠΗΡΕΣΙΑΣ (1/4) ηµιουργία πιστοποιητή από χρήστη/εφαρµογή χρήστη. Ο πιστοποιητής περιέχει: Όνοµα client, IP client, τρέχοντα χρόνο. Κρυπτογράφηση πιστοποιητή µε κλειδί συνόδου που ελήφθη µαζί µε το εισιτήριο. Αποστολή εισιτηρίου και πιστοποιητή.
ΑΙΤΗΣΗ ΥΠΗΡΕΣΙΑΣ (2/4) Μόλις ο εξυπηρέτης λάβει τον πιστοποιητή και το εισιτήριο αποκρυπτογραφεί το εισιτήριο. Στη συνέχεια χρησιµοποιώντας το Κ c, S αποκρυπτογραφεί τον πιστοποιητή. Αν στοιχεία πιστοποιητή συµπίπτουν µε εισιτηρίου, επιτρέπεται στη διαδικασία να συνεχίσει.
ΑΙΤΗΣΗ ΥΠΗΡΕΣΙΑΣ (3/4) Αν ο χρόνος αίτησης είναι πολύ µακριά στο µέλλον ή το παρελθόν, ο εξυπηρέτης υποθέτει ότι πρόκειται για επαναµετάδοση προηγούµενης αίτησης. Ο εξυπηρέτης διατηρεί πίνακα µε παλιές αιτήσεις που έχουν ακόµη έγκυρη χρονοσφραγίδα. Γιανακαταπολεµηθεί επίθεση επαναχρησιµοποίησης, αίτηση µε ίδιο εισιτήριο και ίδια χρονοσφραγίδα δεν εξυπηρετείται ξανά.
ΑΙΤΗΣΗ ΥΠΗΡΕΣΙΑΣ (4/4) ΑΙΤΗΣΗ ΥΠΗΡΕΣΙΑΣ ΠΕΛΑΤΗΣ {A c }K c,s, {T c,,s }K s ΕΞΥΠΗΡΕΤΗΣ
ΗΒ.. ΤΟΥ ΚΕΡΒΕΡΟΥ (1/2) Είναι δυνατή η λειτουργία του Κέρβερου σε >1 µηχανήµατα, κάθε ένα από τα οποία διαθέτει ένα αντίγραφο της Β.. Οι λειτουργίες εγγραφής στη Β. του Κέρβερου γίνονται από το Kerveros Database Management Service (KDBM). Το KDBM τρέχει µόνο στο «κύριο»µηχάνηµα. Συνεπώς µόνο σε αυτό µπορεί να γίνουν εγγραφές στη Β.. Τα υπόλοιπα µηχανήµατα (εξαρτηµένα) εκτελούν αναγνώσεις στις B τους για λειτουργίες ταυτοποιήσης.
ΗΒ.. ΤΟΥ ΚΕΡΒΕΡΟΥ (2/2) Συνεπώς, µε πτώσητου«κύριου» Η/Υ υπηρεσίες ταυτοποίησης εξακολουθούν να παρέχονται. διαχειριστικές υπηρεσίες δε παρέχονται. Ο KDBM χειρίζεται αιτήσεις χρηστών για αλλαγή των passwords τους. (πρόγραµµα kpasswd). Ο KDBM χειρίζεται αιτήσεις διαχειριστών για προσθήκη εντολέων ή µεταβολή στοιχείων υπαρχόντων εντολέων στη Β..(πρόγραµµα kadmin). Data incosistency µεταξύ Β. : Λύνεται µε περιοδική απόστολή των περιεχοµένων της Β του «κύριου» µηχανήµατος στα «εξαρτηµένα».
ΠΡΟΒΛΗΜΑΤΑ ΚΕΡΒΕΡΟΥ ΕΠΙΘΕΣΕΙΣ ΕΠΑΝΑΧΗΣΙΜΟΠΟΙΗΣΗΣ. ΑΣΦΑΛΕΙΑ ΥΠΗΡΕΣΙΩΝ ΧΡΟΝΟΥ. ΕΠΙΘΕΣΕΙΣ ΕΥΡΕΣΗΣ ΚΩ ΙΚΩΝ ΠΡΟΣΒΑΣΗΣ. ΑΠΑΤΕΣ ΚΑΤΑ ΤΟ LOGIN