ΤΕΙ Κρητης Τμήμα Μηχανικών Πληροφορικής Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές
Ψηφιακά Πιστοποιητικά
Υποδομή δημόσιου κλειδιού (Public Key Infrastructure - PKI) Μία υποδομή δημόσιου κλειδιού (Public Key Infrastructure - PKI) είναι ένα σύνολο υπηρεσιών που παρέχεται από μία έμπιστη οντότητα με στόχο την δυνατότητα επιβεβαίωσης της ταυτότητας του αποστολέα από τον οποιδήποτε. Επιβεβαιώνει με ασφαλή τρόπο τη σχέση ενός δημόσιου κλειδιού με το όνομα του ιδιοκτήτη του
Ψηφιακά Πιστοποιητικά Τα πιστοποιητικά είναι ψηφιακά έγγραφα που αποδεικνύουν την σχέση μεταξύ μίας δημόσια κλείδας και μίας οντότητας. Επιτρέπουν, δηλαδή, την επαλήθευση του ισχυρισμού ότι μία συγκεκριμένη δημόσια κλείδα ανήκει σε μια συγκεκριμένη οντότητα. Τα πιστοποιητικά αποτρέπουν κάποιον να υποδυθεί κάποιον άλλο με την χρήση ψεύτικης κλείδας.
Εισαγωγή Μορφή Πιστοποιητικών Ένα πιστοποιητικό περιέχει τις ακόλουθες πληροφορίες: το όνομα του κατόχου το όνομα του εκδοτικού οργανισμού CA (βλέπε παρακάτω) την δημόσια κλείδα του ονόματος που αναγράφεται στο πιστοποιητικό την ημερομηνία λήξης του πιστοποιητικού ένα σειριακό αριθμό (serial number) την ψηφιακή υπογραφή του εκδοτικού οργανισμού Η τυποποιημένη μορφή ενός πιστοποιητικού ακολουθεί το πρωτόκολλο X.509
Εισαγωγή Έκδοση πιστοποιητικού
Ανταλλαγή Ψηφιακών Πιστοποιητικών Παράδειγμα Ο Α καταθέτει με ασφάλεια το ΔΚ του στον CA Ο CA δημιουργεί ένα ψηφιακό πιστοποιητικό και το παραδίδει στον χρήστη Α. Όμοια και για οποιονδήποτε άλλο χρήστη. Όταν οι Α και Β θελήσουν να επικοινωνήσουν απλά ανταλλάσσουν τα ψηφιακά πιστοποιητικά τους χωρίς να είναι απαραίτητη η επικοινωνία σε πραγματικό χρόνο με ένα τρίτο μέρος Οι χρήστες γνωρίζουν το ΔΚ του CA με αποτέλεσμα να είναι δυνατό να επιβεβαιώσουν την ορθότητα των πιστοποιητικών
Αρχές Έκδοσης Πιστοποιητικών (Certification Authorities) Τα πιστοποιητικά εκδίδονται από τις Αρχές Έκδοσης Πιστοποιητικών (Certification Authorities CA), που μπορεί να είναι οποιοσδήποτε άξιος εμπιστοσύνης οργανισμός ικανός να εγγυηθεί για την ταυτότητα αυτών για τους οποίους εκδίδει πιστοποιητικά. Ένας οργανισμός μπορεί να εκδίδει πιστοποιητικά για τους υπάλληλους του ή ένα Πανεπιστήμιο για τους σπουδαστές του ή ακόμα και μια πόλη για τους κατοίκους της. Η CA πρέπει να κατέχει ένα ζεύγος ιδιωτικής / δημόσιας κλείδας. Με την ιδιωτική της κλείδα υπογράφει ψηφιακά τα πιστοποιητικά που εκδίδει, ενώ την εγκυρότητα της δημόσιας κλείδας πρέπει να την επικυρώνει εκδοτικός οργανισμός σε υψηλότερη θέση στην ιεραρχία των CAs.
Αρχές Έκδοσης Πιστοποιητικών (Certification Authorities) Η ιεραρχική κατάταξη που βλέπουμε στο ακόλουθο σχήμα, έχει στην κορυφή της τον οργανισμό Internet Policy Registration Authority (IRPA) και αμέσως μετά ακολουθούν οι Policy Certification Authorities (PCAs) που δημοσιοποιούν πολιτικές ασφάλισης και έκδοσης πιστοποιητικών.
Αρχές Έκδοσης Πιστοποιητικών (Certification Authorities) Σ' αυτήν της ιεραρχία, οι οργανισμοί κάθε επιπέδου πιστοποιούν την δημόσια κλείδα και ταυτότητα του χαμηλότερου επιπέδου. Έτσι, πολλές φορές το πιστοποιητικό για έναν χρήστη μπορεί να συνοδεύεται από μία αλυσίδα πιστοποιητικών (certificates chain) που φθάνουν ως την κορυφή της ιεραρχίας. Σε κάθε πιστοποιητικό περιέχεται η υπογραφή του ανώτερου εκδοτικού οργανισμού που έχει δημιουργηθεί με την ιδιωτική κλείδα αυτού.
Λίστες Ανάκλησης Πιστοποιητικών (Certificate Revocation Lists) Μια λίστα ανάκλησης πιστοποιητικών είναι μια λίστα εγγεγραμμένων χρηστών στην υποδομή δημόσιου κλειδιού με την κατάσταση των πιστοποιητικών τους. Η λίστα απαριθμεί τα ανακληθέντα πιστοποιητικά, την ημερομηνία έκδοσης των πιστοποιητικών του και τις οντότητες που τα εξέδωσαν. Επιπλέον περιέχει την ημερομηνία έκδοσης της επόμενης λίστας ανάκλησης. Η μεγαλύτερη αδυναμία μιας λίστας ανάκλησης πιστοποιητικών είναι το γεγονός ότι ο χρήστης πρέπει να κατεβάζει συχνά τις ενημερωμένες λίστες.
Λίστες Ανάκλησης Πιστοποιητικών (Certificate Revocation Lists) Μία λίστα ανάκλησης πιστοποιητικών περιέχει πιστοποιητικά που έχουν ακυρωθεί πριν από την προγραμματισμένη ημερομηνία λήξης. Υπάρχουν αρκετοί λόγοι γιατί ένα πιστοποιητικό πρέπει να μπορεί να ανακληθεί. Για παράδειγμα η κλείδα που ορίζεται στο πιστοποιητικό μπορεί να μην ασφαλής ή το άτομο για το οποίο εκδόθηκε το πιστοποιητικό να μην έχει πια την δικαιοδοσία να το χρησιμοποιεί. Οι λίστες διατηρούνται και ανανεώνονται από τις CA, και κάθε CA διαχειρίζεται τις λίστες που παρέχουν πληροφορίες για τα ανακληθέντα πιστοποιητικά που είχαν εκδοθεί από την ίδια. Αυτά τα πιστοποιητικά δεν γίνονται δεκτά σε καμία περίπτωση.
Ψηφιακές Υπογραφές
Ψηφιακές Υπογραφές Οι ψηφιακές υπογραφές είναι ένας μηχανισμός που μας επιτρέπει να εξάγουμε συμπεράσματα όσον αφορά την σχέση κάποιων δεδομένων με κάποια οντότητα Είναι βασικός μηχανισμός παροχής αυθεντικοποίησης, εξουσιοδότησης, και μη-αποποίησης. Η λογική της υλοποίησης της βασίζεται στην ασύμμετρη κρυπτογραφία (Ιδιωτικό & δημόσιο κλειδί )
Ψηφιακές Υπογραφές Η ψηφιακή υπογραφή είναι ένας τρόπος αυθεντικοποίησης του αποστολέα του μηνύματος. Θεωρώντας ότι ο αποστολέας έχει ένα συγκεκριμένο ζευγάρι κλειδιών και το ιδιωτικό του κλειδί είναι στην αποκλειστική κατοχή του, τότε το γεγονός ότι ο αποστολέας χρησιμοποιεί το ιδιωτικό του κλειδί για να κρυπτογραφήσει το μήνυμα, πιστοποιεί στον παραλήπτη που το αποκρυπτογραφεί με το αντίστοιχο δημόσιο κλειδί (του αποστολέα) την ταυτότητα του αποστολέα.
Ψηφιακές Υπογραφές Στη διαδικασία της δημιουργίας και επαλήθευσης της υπογραφής εμπλέκεται και η έννοια της συνάρτησης κατακερματισμού (one way hash). Με την εφαρμογή της συνάρτησης κατακερματισμού, από ένα μήνυμα, ανεξαρτήτως του μεγέθους του, παράγεται η «σύνοψή του», η οποία είναι μία σειρά από bits συγκεκριμένου μεγέθους (π.χ. 128 ή 160 bits). Η σύνοψη του μηνύματος (fingerprint ή message digest) είναι μία ψηφιακή αναπαράσταση του μηνύματος, είναι μοναδική για το μήνυμα και το αντιπροσωπεύει.
Ψηφιακές Υπογραφές Μία ψηφιακή υπογραφή μπορεί να πλαστογραφηθεί εάν ο δικαιούχος του ιδιωτικού κλειδιού δεν το έχει υπό τον πλήρη έλεγχό του (π.χ. χάσει το μέσο στο οποίο έχει αποθηκευτεί το ιδιωτικό κλειδί).
Ψηφιακές Υπογραφές & Συνάρτησεις Κατακερματισμού Αν το μήνυμα του αποστολέα έχει κάποια συγκεκριμένη σύνοψη και το μήνυμα που λάβει ο παραλήπτης (χρησιμοποιώντας την ίδια συνάρτηση κατακερματισμού) παράγει διαφορετική σύνοψη, τότε το μήνυμα κατά την μετάδοσή του έχει αλλοιωθεί (έλεγχος ακεραιότητας). Η ψηφιακή υπογραφή (σε αντίθεση με την ιδιόχειρη υπογραφή) είναι διαφορετική για κάθε μήνυμα.
Δημιουργία και επαλήθευση ψηφιακής υπογραφής [Αποστολέας] 1. Ο αποστολέας χρησιμοποιώντας κάποιον αλγόριθμο κατακερματισμού (one way hash) δημιουργεί τη σύνοψη του μηνύματος (message digest) που θέλει να στείλει. Ανεξάρτητα από το μέγεθος του μηνύματος, αυτό που θα παραχθεί θα είναι μία συγκεκριμένου μήκους σειρά ψηφίων. 2. Με το ιδιωτικό του κλειδί, ο αποστολέας κρυπτογραφεί τη σύνοψη. Αυτό που παράγεται είναι η ψηφιακή υπογραφή. Η υπογραφή είναι ουσιαστικά μία σειρά ψηφίων συγκεκριμένου πλήθους. 3. Η κρυπτογραφημένη σύνοψη (ψηφιακή υπογραφή) προσαρτάται στο κείμενο και το μήνυμα με τη ψηφιακή υπογραφή μεταδίδονται μέσω του δικτύου (σημειώνεται ότι ο αποστολέας αν επιθυμεί μπορεί να κρυπτογραφήσει το μήνυμά του με το δημόσιο κλειδί του παραλήπτη).
Δημιουργία και επαλήθευση ψηφιακής υπογραφής [Παραλήπτης] 1. Ο παραλήπτης αποσπά από το μήνυμα την ψηφιακή υπογραφή. 2. Εφαρμόζοντας στο μήνυμα που έλαβε τον ίδιο αλγόριθμο κατακερματισμού, ο παραλήπτης δημιουργεί τη σύνοψη του μηνύματος. 3. Στη συνέχεια, αποκρυπτογραφεί με το δημόσιο κλειδί του αποστολέα, την κρυπτογραφημένη σύνοψη του μηνύματος (ψηφιακή υπογραφή). 4. Συγκρίνονται οι δύο συνόψεις και αν βρεθούν ίδιες, αυτό σημαίνει ότι το μήνυμα που έλαβε ο παραλήπτης είναι ακέραιο. Αν το μήνυμα έχει μεταβληθεί, η σύνοψη που θα παράγει ο παραλήπτης θα είναι διαφορετική από την σύνοψη που έχει κρυπτογραφηθεί.
Εργαστηριακές Ασκήσεις 1. Δημιουργία ψηφιακου πιστοποιητικού με τη βοήθεια του Crypt Tool 2. Επίδειξη λειτουργίας ηλεκτρονικής υπογραφής με τη βοήθεια του Crypt Tool (Signature Demonstration) 3. Επαλήθευση ηλεκτρονικής υπογραφής (Verify Signature)