X.509

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

Το X.509[1] είναι διεθνές πρότυπο που καθορίζει τον τρόπο λειτουργίας των Υποδομών Δημοσίου Κλειδιού (Public Key Infrastructure, PKI). Το πρότυπο προδιαγράφει τις μορφές διάθεσης της σχετικής πληροφορίας (κλειδιά, πιστοποιητικά, λίστες ανάκλησης) και τους αλγορίθμους επαλήθευσης του κύρους ενός πιστοποιητικού.

Πιστοποιητικά και επαλήθευση[Επεξεργασία | επεξεργασία κώδικα]

Στο X.509, η Αρχή Πιστοποίησης (Certification Authority, συντομογραφία: CA) εκδίδει ένα πιστοποιητικό το οποίο περιλαμβάνει πληροφορίες για μια οντότητα-υποκείμενο (subject). Το υποκείμενο του πιστοποιητικού μπορεί να είναι ένα όνομα (common name) ή κάποια άλλη οντότητα (alternative name), όπως μια διεύθυνση ηλεκτρονικού ταχυδρομείου, μια διεύθυνση IP ή ένα όνομα DNS. Ένα πιστοποιητικό X.509 περιέχει τις ακόλουθες πληροφορίες:

  • Πιστοποιητικό
  • Έκδοση X.509 (π.χ. 3)
  • Αύξων Αριθμός
  • Αλγόριθμος
  • Εκδούσα Αρχή Πιστοποίησης
  • Περίοδος εγκυρότητας
  • Όχι νωρίτερα από
  • Όχι αργότερα από
  • Υποκείμενο Πληροφορίας δημόσιου κλειδιού υποκειμένου
  • Αλγόριθμος δημόσιου κλειδιού
  • Τιμή δημόσιου κλειδιού
  • Προαιρετικές πληροφορίες
  • Επεκτάσεις (extensions)
  • Αλγόριθμος υπογραφής πιστοποιητικού
  • Υπογραφή πιστοποιητικού

Η Αρχή Πιστοποίησης υπογράφει ψηφιακά τις πληροφορίες του πιστοποιητικού. Έτσι, όποιος διαθέτει το δημόσιο κλειδί της μπορεί να επαληθεύσει την ισχύ των πληροφοριών που φέρει το πιστοποιητικό. Κάθε Αρχή Πιστοποίησης διαθέτει δικό της πιστοποιητικό, υπογεγραμμένο από κάποια άλλη αρχή πιστοποίησης (η οποία είναι γνωστή ως ενδιάμεση αρχή πιστοποίησης, intermediate CA) ή από τον εαυτό της (γνωστή ως αρχική αρχή πιστοποίησης, root CA). Επομένως η επαλήθευση της εγκυρότητας ενός πιστοποιητικού μπορεί να γίνει ακολουθώντας μια αλυσίδα Αρχών Πιστοποίησης μέχρι το φτάσιμο σε μια έμπιστη Αρχή Πιστοποίησης (αγγλικά: trusted CA).

Κάθε λειτουργικό σύστημα ή φυλλομετρητής διανέμεται με έναν κατάλογο έμπιστων αρχικών και ενδιάμεσων Αρχών Πιστοποίησης. Αυτό σημαίνει ότι μπορεί να επαληθεύσει την εγκυρότητα ενός μεγάλου αριθμού πιστοποιητικών.

Αν για παράδειγμα ένας χρήστης συνδεθεί με έναν εξυπηρετητή, παρουσιάζεται ένα πιστοποιητικό υπογεγραμμένο από την αρχή πιστοποίησης CA 1. Η CA 1 είναι ενδιάμεση αρχή πιστοποίησης και δεν είναι εγκατεστημένη στο λειτουργικό σύστημα, όμως ο εξυπηρετητής παρέχει στο χρήστη το πιστοποιητικό της μαζί με το δικό του. Ελέγχοντας την υπογραφή διαπιστώνεται ότι σύμφωνα με τη CA 1 το πιστοποιητικό του εξυπηρετητή είναι έγκυρο, ωστόσο η CA 1 δεν είναι έμπιστη Αρχή Πιστοποίησης. Το πιστοποιητικό της CA 1 φέρει υπογραφή από την CA 2, η οποία βρίσκεται στον κατάλογο με τις έμπιστες Αρχές Πιστοποίησης του λειτουργικού συστήματος που χρησιμοποιεί ένας χρήστης. Επομένως, επαληθεύοντας το πιστοποιητικό της CA 1 χρησιμοποιώντας το δημόσιο κλειδί από το πιστοποιητικό της CA 2 καταλήγουμε σε μια έμπιστη αρχή πιστοποίησης. Κατ' αυτόν τον τρόπο σχηματίζεται η αλυσίδα πιστοποίησης (αγγλικά: certification chain).

Επομένως το δημόσιο κλειδί που βρίσκεται στο πιστοποιητικό του Εξυπηρετητή μπορεί να χρησιμοποιηθεί με ασφάλεια για την κρυπτογράφηση δεδομένων προς αυτόν, αφού η έμπιστη CA 2 έχει επιβεβαιώσει (μέσω της «CA 1») ότι το πιστοποιητικό αυτό (και επομένως και το δημόσιο κλειδί) ανήκει αλήθεια στον εξυπηρετητή.

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. «Το Πρότυπο Χ.509». Εθνικό Δίκτυο Έρευνας και Τεχνολογίας.