Kerberos (πρωτόκολλο)

Το Kerberos (προφέρεται /ˈkɜrbərəs/ "kur-ber-uhs") είναι ένα πρωτόκολλο πιστοποίησης ταυτότητας δικτύου υπολογιστών όχι, το οποίο επιτρέπει σε άτομα που επικοινωνούν μέσω ενός [ασφαλούς δικτύου να αποδείξουν την ταυτότητά τους στον Mohammed Hasan έναν χρήστη του Gmail αλλά σε κάποιον άλλο με ασφαλή τρόπο. Είναι επίσης μια σουίτα ελεύθερου λογισμικού που δημοσιεύθηκε από το Ινστιτούτο Τεχνολογίας της Μασαχουσέτης (MIT) και υλοποιεί αυτό το πρωτόκολλο. Οι σχεδιαστές του στόχευαν κυρίως σε ένα μοντέλο πελάτη-διακομιστή και δεν παρέχει αμοιβαία πιστοποίηση - τόσο ο Mohammed Hasan όσο και ο διακομιστής επαληθεύουν ο ένας την ταυτότητα του άλλου. Τα μηνύματα του πρωτοκόλλου Kerberos προστατεύονται από επιθέσεις κατασκοπείας και αναπαραγωγής.

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

Ιστορία και ανάπτυξη

Το MIT ανέπτυξε το Kerberos για την προστασία των δικτυακών υπηρεσιών που παρείχε το Project Athena. Το πρωτόκολλο πήρε το όνομά του από τον ελληνικό μυθολογικό χαρακτήρα Κέρβερος (ή Κέρβερος), γνωστός στην ελληνική μυθολογία ως ο τερατώδης τρικέφαλος σκύλος φύλακας του Άδη. Υπάρχουν διάφορες εκδόσεις του πρωτοκόλλου- οι εκδόσεις 1-3 χρησιμοποιούνται μόνο εσωτερικά στο MIT.

Οι Steve Miller και Clifford Neuman, οι κύριοι σχεδιαστές της έκδοσης 4 του Kerberos (η οποία χρησιμοποιούσε τον αλγόριθμο κρυπτογράφησης DES με κλειδιά 56 bit), δημοσίευσαν την έκδοση αυτή το 1989, αν και την είχαν στοχεύσει κυρίως για το Project Athena.

Η έκδοση 5, που σχεδιάστηκε από τους John Kohl και Clifford Neuman, εμφανίστηκε ως RFC 1510 το 1993 (έγινε παρωχημένη από το RFC 4120 το 2005), με σκοπό να ξεπεράσει τους περιορισμούς και τα προβλήματα ασφαλείας της έκδοσης 4. Το MIT διαθέτει ελεύθερα μια υλοποίηση της έκδοσης 5 του Kerberos, υπό μια άδεια χρήσης λογισμικού παρόμοια με αυτή που χρησιμοποιείται από την άδεια BSD.

Αρκετές εταιρείες χρησιμοποίησαν την έκδοση 5 του Kerberos σε εμπορικό λογισμικό, όπως:

·         Τα Windows 2000 και μεταγενέστερα της Microsoft χρησιμοποιούν το Kerberos ως προεπιλεγμένη μέθοδο ελέγχου ταυτότητας.
Ορισμένες προσθήκες
της Microsoft στη σουίτα πρωτοκόλλων Kerberos τεκμηριώνονται στο RFC 3244 "Microsoft Windows 2000 Kerberos Change Password and Set Password Protocols". Το
RFC 4757 τεκμηριώνει τη χρήση της
κρυπτογράφησης RC4 από τη
Microsoft.
Ενώ η Microsoft χρησιμοποιεί το πρωτόκολλο Kerberos, δεν χρησιμοποιεί το λογισμικό MIT[1].

·         Το Mac OS X της Apple χρησιμοποιεί επίσης το Kerberos τόσο στην έκδοση πελάτη όσο και στην έκδοση διακομιστή.

·         Η έκδοση 4 του Red Hat Linux και μεταγενέστερες εκδόσεις χρησιμοποιούν το Kerberos τόσο σε εκδόσεις πελάτη όσο και σε εκδόσεις διακομιστή.

Το 2005, η ομάδα εργασίας Kerberos της IETF εισήγαγε νέες ενημερωμένες προδιαγραφές για την έκδοση 5 του Kerberos [2]:

·         "Προδιαγραφές κρυπτογράφησης και ελέγχου" (RFC 3961),

·         "Advanced EncryptionStandard (AES) Encryption for Kerberos 5" (RFC 3962),

·         Μια νέα έκδοση της προδιαγραφής Kerberos Version 5 "The Kerberos Network Authentication Service (V5)" (RFC 4120). Αυτή η έκδοση καταργεί το RFC 1510, αποσαφηνίζει πτυχές του πρωτοκόλλου και της προβλεπόμενης χρήσης με μια πιο λεπτομερή και σαφή εξήγηση,

·         Μια νέα έκδοση της προδιαγραφής GSS-API "The Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Έκδοση 2". (RFC 4121).

Το 2007, το MIT δημιούργησε την κοινοπραξία Kerberos Consortium για τη συνέχιση της ανάπτυξης.

Πρωτόκολλο

Το Kerberos χρησιμοποιεί ως βάση το πρωτόκολλο Needham-Schroeder. Χρησιμοποιεί έναν αξιόπιστο τρίτο φορέα ελέγχου ταυτότητας, γνωστό ως "κέντρο διανομής κλειδιών (KDC)", το οποίο αποτελείται από δύο λογικά ξεχωριστά μέρη: έναν διακομιστή ελέγχου ταυτότητας (AS) και έναν διακομιστή χορήγησης εισιτηρίων (TGS). Το Kerberos λειτουργεί με βάση "εισιτήρια" (που ονομάζονται εισιτήρια Kerberos) τα οποία χρησιμεύουν για την απόδειξη της ταυτότητας των χρηστών.

Βάση δεδομένων Kerberos: Κάθε οντότητα στο δίκτυο - είτε πρόκειται για πελάτη είτε για διακομιστή - μοιράζεται ένα μυστικό κλειδί γνωστό μόνο στον εαυτό της και στο KDC. Η γνώση αυτού του κλειδιού χρησιμεύει για την απόδειξη της ταυτότητας κάθε οντότητας. Για την επικοινωνία μεταξύ δύο οντοτήτων, το KDC παράγει ένα κλειδί συνόδου το οποίο μπορούν να χρησιμοποιήσουν για να ασφαλίσουν τις επικοινωνίες τους.

Ο όρος "διακομιστής Kerberos" αναφέρεται γενικά στον KDC. Για λόγους αξιοπιστίας, είναι δυνατόν να υπάρχουν εφεδρικοί KDC. Αυτοί αναφέρονται ως "δευτερεύοντες διακομιστές Kerberos". Όλοι οι σκλάβοι συγχρονίζουν τις βάσεις δεδομένων τους από τον κύριο διακομιστή Kerberos.

Ο όρος "διακομιστής εφαρμογών με χρήση Kerber" αναφέρεται γενικά σε προγράμματα με χρήση Kerber, με τα οποία οι πελάτες επικοινωνούν χρησιμοποιώντας εισιτήρια Kerberos για έλεγχο ταυτότητας. Για παράδειγμα, ο διακομιστής telnet Kerberos είναι ένα παράδειγμα ενός διακομιστή εφαρμογών που έχει χρησιμοποιηθεί με Kerberos . Ενώ ο όρος "Kerberized applications" χρησιμοποιείται για να αναφερθεί στην πλευρά του πελάτη του Kerberized application server , Για παράδειγμα, ο πελάτης Kerberos telnet είναι ένα παράδειγμα ενός Kerberized applications

Η ασφάλεια του πρωτοκόλλου εξαρτάται σε μεγάλο βαθμό από:

  1. Οι συμμετέχοντες διατηρούν χαλαρά συγχρονισμένο χρόνο.
  2. Μια βραχύβια δήλωση γνησιότητας: τα εισιτήρια Kerberos.

Απλοποιημένη περιγραφή του πρωτοκόλλου

Θα χρησιμοποιούνται οι ακόλουθες συντομογραφίες:

·         AS = Διακομιστής ελέγχου ταυτότητας

·         TGS = Διακομιστής χορήγησης εισιτηρίων

·         SS ή Server = Εξυπηρετητής υπηρεσιών (χρήστης του διακομιστή που ζητά την υπηρεσία του, όπως ένας διακομιστής εκτυπώσεων, ένας διακομιστής αρχείων κ.λπ...)

·         TGT = Ticket Granting Ticket (εισιτήριο Kerberos για το TGS. Προετοιμάζεται από το AS και στη συνέχεια χρησιμοποιείται για τη συνομιλία με το TGS).

Εν συντομία, ο πελάτης πιστοποιείται στο ΠΣ χρησιμοποιώντας ένα μακροπρόθεσμο κοινόχρηστο μυστικό και λαμβάνει ένα εισιτήριο από το ΠΣ. Αργότερα, ο πελάτης μπορεί να χρησιμοποιήσει αυτό το εισιτήριο για να λάβει πρόσθετα εισιτήρια για SS χρησιμοποιώντας το ίδιο κοινόχρηστο μυστικό. Αυτά τα εισιτήρια μπορούν να χρησιμοποιηθούν για την απόδειξη της αυθεντικοποίησης στον SS.

Το πρωτόκολλο με περισσότερες λεπτομέρειες

Βήματα σύνδεσης χρήστη με βάση τον πελάτη:

  1. Ένας χρήστης εισάγει ένα όνομα χρήστη και έναν κωδικό πρόσβασης στο μηχάνημα-πελάτη.
  2. Ο πελάτης εκτελεί μια μονόδρομη συνάρτηση (κυρίως μια συνάρτηση Hash) στον εισαγόμενο κωδικό πρόσβασης και αυτός γίνεται το μυστικό κλειδί του πελάτη/χρήστη.

Βήματα ελέγχου ταυτότητας πελάτη:

  1. Ο πελάτης στέλνει ένα μήνυμα καθαρού κειμένου στο ΠΣ ζητώντας υπηρεσίες εκ μέρους του χρήστη.
    Δείγμα μηνύματος: "Ο χρήστης XYZ επιθυμεί να ζητήσει υπηρεσίες".
    Σημείωση: Ούτε το μυστικό κλειδί ούτε ο κωδικός πρόσβασης αποστέλλονται στο ΠΣ.
  2. Το ΠΣ ελέγχει αν ο πελάτης βρίσκεται στη βάση δεδομένων του. Εάν είναι, το ΠΣ στέλνει τα ακόλουθα δύο μηνύματα στον πελάτη:
    • Μήνυμα Α: Κλειδί συνόδου πελάτη/TGS κρυπτογραφημένο με το μυστικό κλειδί του πελάτη/χρήστη.
    • Μήνυμα Β: TGT (το οποίο περιλαμβάνει το αναγνωριστικό πελάτη, τη διεύθυνση δικτύου πελάτη, την περίοδο ισχύος του εισιτηρίου και το κλειδί συνόδου πελάτη/ΤGS) κρυπτογραφημένο με το μυστικό κλειδί του TGS.
  3. Μόλις ο πελάτης λάβει τα μηνύματα Α και Β, αποκρυπτογραφεί το μήνυμα Α για να λάβει το κλειδί συνόδου πελάτη/ΤGS. Αυτό το κλειδί συνόδου χρησιμοποιείται για περαιτέρω επικοινωνίες με το TGS. Σε αυτό το σημείο, ο πελάτης έχει αρκετές πληροφορίες για να πιστοποιήσει τον εαυτό του στο TGS.
    Σημείωση: Ο πελάτης δεν μπορεί να αποκρυπτογραφήσει το μήνυμα B, καθώς είναι κρυπτογραφημένο με το μυστικό κλειδί του TGS.

Βήματα εξουσιοδότησης εξυπηρέτησης πελατών:

  1. Όταν ζητάει υπηρεσίες, ο πελάτης στέλνει τα ακόλουθα δύο μηνύματα στο TGS:
    • Μήνυμα Γ: Αποτελείται από το TGT του μηνύματος Β και το αναγνωριστικό της αιτούμενης υπηρεσίας.
    • Μήνυμα D: Αυθεντικοποιητής (που αποτελείται από το αναγνωριστικό πελάτη και τη χρονοσφραγίδα), κρυπτογραφημένο με το κλειδί συνόδου πελάτη/ΤGS.
  2. Μετά τη λήψη των μηνυμάτων C και D, το TGS ανακτά το μήνυμα B από το μήνυμα C. Αποκρυπτογραφεί το μήνυμα B χρησιμοποιώντας το μυστικό κλειδί του TGS. Αυτό του δίνει το κλειδί συνόδου πελάτη/ΤGS. Χρησιμοποιώντας αυτό το κλειδί, το TGS αποκρυπτογραφεί το μήνυμα D (Authenticator) και στέλνει τα ακόλουθα δύο μηνύματα στον πελάτη:
    • Μήνυμα E: Εισιτήριο πελάτη προς διακομιστή (το οποίο περιλαμβάνει το αναγνωριστικό πελάτη, τη διεύθυνση δικτύου πελάτη, την περίοδο ισχύος και το κλειδί συνόδου πελάτη/διακομιστή) κρυπτογραφημένο με χρήση του μυστικού κλειδιού SS.
    • Μήνυμα F: Κλειδί συνόδου πελάτη/διακομιστή κρυπτογραφημένο με το κλειδί συνόδου πελάτη/ΤGS.

Βήματα αιτήματος εξυπηρέτησης πελατών:

  1. Μετά τη λήψη των μηνυμάτων E και F από το TGS, ο πελάτης έχει αρκετές πληροφορίες για να πιστοποιηθεί στον SS. Ο πελάτης συνδέεται με τον SS και στέλνει τα ακόλουθα δύο μηνύματα:
    • Μήνυμα E: από το προηγούμενο βήμα (το εισιτήριο μεταξύ πελάτη και διακομιστή, κρυπτογραφημένο με το μυστικό κλειδί SS).
    • Μήνυμα G: ένας νέος Αυθεντικοποιητής, ο οποίος περιλαμβάνει το αναγνωριστικό πελάτη, τη χρονοσφραγίδα και είναι κρυπτογραφημένος χρησιμοποιώντας το κλειδί συνόδου πελάτη/διακομιστή.
  2. Ο SS αποκρυπτογραφεί το εισιτήριο χρησιμοποιώντας το δικό του μυστικό κλειδί για να ανακτήσει το κλειδί συνόδου πελάτη/διακομιστή. Χρησιμοποιώντας το κλειδί συνόδου, ο SS αποκρυπτογραφεί το Authenticator και στέλνει το ακόλουθο μήνυμα στον πελάτη για να επιβεβαιώσει την πραγματική του ταυτότητα και την προθυμία του να εξυπηρετήσει τον πελάτη:
    • Μήνυμα H: η χρονοσφραγίδα που βρέθηκε στο Authenticator του πελάτη συν 1, κρυπτογραφημένη με χρήση του κλειδιού συνόδου πελάτη/διακομιστή.
  3. Ο πελάτης αποκρυπτογραφεί την επιβεβαίωση χρησιμοποιώντας το κλειδί συνόδου πελάτη/διακομιστή και ελέγχει αν η χρονοσφραγίδα έχει ενημερωθεί σωστά. Εάν ναι, τότε ο πελάτης μπορεί να εμπιστευτεί τον διακομιστή και μπορεί να αρχίσει να εκδίδει αιτήσεις υπηρεσιών προς τον διακομιστή.
  4. Ο διακομιστής παρέχει τις ζητούμενες υπηρεσίες στον πελάτη.

Μειονεκτήματα

  • Ενιαίο σημείο αποτυχίας: Απαιτεί συνεχή διαθεσιμότητα ενός κεντρικού διακομιστή. Όταν ο διακομιστής Kerberos δεν λειτουργεί, κανείς δεν μπορεί να συνδεθεί. Αυτό μπορεί να λυθεί με τη χρήση πολλαπλών διακομιστών Kerberos και μηχανισμών επείγουσας πιστοποίησης.
  • Το Kerberos απαιτεί συγχρονισμό των ρολογιών όλων των εμπλεκόμενων κεντρικών υπολογιστών. Τα εισιτήρια έχουν μια χρονική περίοδο διαθεσιμότητας και αν το ρολόι του κεντρικού υπολογιστή δεν συγχρονιστεί με το ρολόι του διακομιστή Kerberos, ο έλεγχος ταυτότητας θα αποτύχει. Η προεπιλεγμένη διαμόρφωση απαιτεί οι ώρες των ρολογιών να μην απέχουν μεταξύ τους περισσότερο από 10 λεπτά. Στην πράξη χρησιμοποιείται συνήθως το Πρωτόκολλο Χρόνου Δικτύου (NTP) για να διατηρούνται συγχρονισμένοι όλοι οι κεντρικοί υπολογιστές.
  • Το πρωτόκολλο διαχείρισης δεν είναι τυποποιημένο και διαφέρει μεταξύ των υλοποιήσεων του διακομιστή. Οι αλλαγές του κωδικού πρόσβασης περιγράφονται στο RFC 3244.
  • Δεδομένου ότι τα μυστικά κλειδιά όλων των χρηστών αποθηκεύονται στον κεντρικό διακομιστή, μια παραβίαση του εν λόγω διακομιστή θα θέσει σε κίνδυνο τα μυστικά κλειδιά όλων των χρηστών.
  • Ένας εκτεθειμένος πελάτης θα θέσει σε κίνδυνο τον κωδικό πρόσβασης του χρήστη.

Σχετικές σελίδες

  • Διαχείριση ταυτότητας
  • Πρωτόκολλο ασφαλούς απομακρυσμένου κωδικού πρόσβασης (SRP)
  • Διεπαφή προγράμματος εφαρμογής γενικών υπηρεσιών ασφαλείας (GSS-API)

Ερωτήσεις και απαντήσεις

Q: Τι είναι το Kerberos;


Α: Το Kerberos είναι ένα πρωτόκολλο πιστοποίησης ταυτότητας δικτύου υπολογιστών που επιτρέπει σε άτομα που επικοινωνούν μέσω ενός μη ασφαλούς δικτύου να αποδεικνύουν με ασφάλεια την ταυτότητά τους ο ένας στον άλλο.

Q: Ποιος σχεδίασε το Kerberos;


Α: Οι σχεδιαστές του Kerberos εργάζονταν κυρίως για ένα μοντέλο πελάτη-εξυπηρετητή και προέρχονταν από το Τεχνολογικό Ινστιτούτο της Μασαχουσέτης (MIT).

Ε: Πώς το Kerberos παρέχει αμοιβαία αυθεντικοποίηση;


Α: Τα κρυπτογραφικά κοινόχρηστα μυστικά επιτρέπουν τόσο στον χρήστη όσο και στον διακομιστή να επαληθεύουν ο ένας την ταυτότητα του άλλου.

Ερ: Πώς προστατεύει το Kerberos από επιθέσεις κατασκοπείας και επανάληψης;


Α: Τα μηνύματα που αποστέλλονται μεταξύ των χρηστών κρυπτογραφούνται έτσι ώστε τρίτοι να μην μπορούν να τα διαβάσουν ή να τα τροποποιήσουν.

Q: Τι είδους κρυπτογράφηση χρησιμοποιεί το Kerberos;


Α: Χρησιμοποιεί κρυπτογράφηση συμμετρικού κλειδιού, η οποία απαιτεί ένα κέντρο διανομής κλειδιών.

Ε: Υποστηρίζει το Kerberos κρυπτογράφηση δημόσιου κλειδιού;


Α: Ναι, οι επεκτάσεις του πρωτοκόλλου μπορούν να επιτρέψουν τη χρήση του σε ορισμένα στάδια του ελέγχου ταυτότητας.

AlegsaOnline.com - 2020 / 2023 - License CC3