1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών; Η ακεραιότητα δεδομένων(data integrity) Είναι η ιδιότητα που μας εξασφαλίζει ότι δεδομένα δεν έχουν παραποιηθεί με μη εξουσιοδοτημένο τρόπο από την στιγμή που δημιουργήθηκαν, μεταδόθηκαν ή αποθηκεύτηκαν από μία εξουσιοδοτημένη οντότητα. Οι μηχανισμοί που χρησιμοποιούνται για την ακεραιότητα δεδομένων είναι οι ψηφιακές υπογραφές(digital fingerprint), οι κώδικες αυθεντικοποίησης μηνύματος(mac) και οι κώδικες ανίχνευσης παραποίησης(mdc). Η ψηφιακή υπογραφή επικυρώνει την ακεραιότητα ενός εγγράφου την αυθεντικοποιηση του αποστολέα και αποτρέπει τον υπογράφοντα να αποποιηθεί την αποστολή του. Ο κώδικας ανίχνευσης παραποίησης 2. Περιγράψτε τον τρόπο κρυπτογράφησης και αποκρυπτογράφησης σε μορφή CBC; Η είσοδος στον αλγόριθμο κρυπτογράφησης είναι το αποτέλεσμα της πράξης XOR του τρέχοντος τμήματος αρχικού κειμένου και του προηγουμένου τμήματος κρυπτογραφήματος. Για την παραγωγή του πρώτου τμήματος κρυπτογραφήματος εκτελείται η πράξη XOR σε ένα διάνυσμα αρχικοποίησης (Initialization Vector IV) με το πρώτο τμήμα του αρχικού κειμένου. Το ίδιο κλειδί χρησιμοποιείται σε κάθε τμήμα. Για την αποκρυπτογράφηση, κάθε τμήμα επεξεργάζεται από τον αλγόριθμο κρυπτογράφησης και στο αποτέλεσμα που προκύπτει εφαρμόζεται η συνάρτηση XOR με το προηγούμενο τμήμα κρυπτογραφήματος, ώστε τελικά παράγεται το αντίστοιχο τμήμα του αρχικού κειμένου. Στο διάνυσμα αρχικοποίησης εκτελείται η πράξη XOR με την έξοδο του αλγορίθμου αποκρυπτογράφησης για την ανάκτηση του πρώτου τμήματος του αρχικού κειμένου. Το διάνυσμα αρχικοποίησης πρέπει να είναι γνωστό τόσο στον πομπό όσο και στον δέκτη 3.Πιστεύετε ότι η ανταλλαγή e-mails με τις συνήθεις εφαρμογές είναι ασφαλής; Αν όχι, ποιες απειλές και ποιους μηχανισμούς θα χρησιμοποιούσατε για την προστασία των; Ένας πολύ διαδεδομένος τρόπος για μία εφαρμογή ανταλλαγής μηνυμάτων είναι η αξιοποίηση ψηφιακού φακέλου. Π.χ. ο Β θέλει να δημιουργήσει μια εφαρμογή που θα του παρέχει την δυνατότητα να ανταλλάσει μηνύματα με χρήση υπηρεσίας ηλεκτρονικού ταχυδρομείου με τον Α χρησιμοποιώντας συμμετρικό κρυπτοσύστημα. Ο Β πρέπει να χρησιμοποιήσει ασύμμετρο κρυπτοσύστημα για την αποστολή του μυστικού κλειδιού. Προφανώς απαιτείται η χρήση πιστοποιητικών και ΡΚΙ(public key infrastructure), ώστε να εξασφαλίζεται η αυθεντικότητα του Α και η ακεραιότητα του μηνύματος. Τα γενικά βήματα που θα πρέπει να ακολουθηθούν είναι τα ακόλουθα:
Ο Β ετοιμάζει το προς αποστολή μήνυμα Ο Β κρυπτογραφεί το μήνυμα με συμβατικό κρυπτοσύστημα,χρησιμοποιώντας ένα μυστικό κλειδί που ο ίδιος δημιούργησε Ο Β κρυπτογραφεί αυτό το μυστικό κλειδί με το δημόσιο κλειδί του Α Ο Β επισυνάπτει το κρυπτογραφημένο μυστικό κλειδί στο μήνυμα και το αποστέλλει στον Α Ο Α είναι ο μόνος που μπορεί να αποκρυπτογραφήσει το μήνυμα και να αναγνώσει το αρχικό κείμενο. Αν ο Β ανακτήσει το δημόσιο κλειδί του Α μέσω πιστοποιητικού από κάποια έμπιστη Τρίτη οντότητα, τότε ο Β είναι σίγουρος ότι το μυστικό κλειδί είναι ορθό. 4. Σχεδιάστε ένα ασφαλές πρωτόκολλο αμφίδρομης αυθεντικοποίησης και δημιουργίας κλειδιού συνόδου χρησιμοποιώντας αποκλειστικά μηχανισμούς που βασίζονται σε χρήση κρυπτογραφίας δημόσιου κλειδιού. Needham-Schroeder πρωτόκολλο: Γίνεται με την ανταλλαγή τριών μηνυμάτων: Ο Α δημιουργεί ένα κλειδί k1 και στέλνει στον Β το ακόλουθο μήνυμα: Α -> Β: PB(k1, Α) Ο Β παίρνει το k1 από το μήνυμα, δημιουργεί ένα κλειδί k2 και στέλνει στον Α το Β -> Α: PΑ(k1, k2) Αν το k1 είναι το ίδιο με αυτό που έστειλε ο Α στο πρώτο μήνυμα: Α -> Β: PB(k2) Ο Β ελέγχει το k2. Το κλειδί συνόδου μπορεί να δημιουργηθεί χρησιμοποιώντας μια μόνοδρομη συνάρτηση f ως f (k1, k2). 5.Τι είναι τα εικονικά ιδιωτικά δίκτυα και με ποιους μηχανισμούς δημιουργούνται; Ένα εικονικό ιδιωτικό δίκτυο(vpn) είναι μία ασφαλής ιδιωτική σύνδεση μέσω ενός δημοσίου δικτύου ή ενός ανασφαλούς περιβάλλοντος. Είναι ιδιωτικό γιατί χρησιμοποιούνται πρωτόκολλα κρυπτογράφησης και η τεχνική της σήραγγας για να εξασφαλίσουν την εμπιστευτικότητα και
ακεραιότητα των δεδομένων. Υλοποιείται με την χρήση πυλών όπου όλη η κίνηση γίνεται μεταξύ αυτών των πυλών οι οποίες θα προσθέσουν την απαραίτητη προστασία πριν προωθήσουν αυτά τα πακέτα. 6.Εάν ένας οργανισμός χρησιμοποιεί κάποιο firewall για την προστασία του ιδιωτικού δικτύου κρίνεται απαραίτητη η χρήση ενός συστήματος ανίχνευσης εισβολών και γιατί; Τα Firewalls υλοποιούν πολιτικές όσων αφορά το είδος της κίνησης που μπορεί να εισέλθει ή να εξέλθει από ένα δίκτυο. To IDS παρακολουθεί μοντέλα κίνησης και ενεργοποιείται όταν υποπτευθεί ότι υπάρχει κάποια επίθεση. Όποτε είναι δυο διαφορετικοί τρόποι προστασίας που δεν σχετίζονται ούτε συγκρούονται πουθενά. Έτσι ο συνδυασμός και των δύο θα έδινε μεγαλύτερη ασφάλεια σε ένα δίκτυο. 1. (α) Τι είναι οι συναρτήσεις κατακερματισμού και που χρησιμοποιούνται; Μία συνάρτηση κατακερματισμού ή σύνοψης είναι μία συνάρτηση η οποία έχει τουλάχιστον τις δύο ακόλουθες ιδιότητες : Συμπίεση, η h μετατρέπει ένα μήνυμα αυθαιρέτου μήκους x, σε ένα μήνυμα σταθερού μεγέθους. Ευκολία υπολογισμού, Δεδομένης της h και του μηνύματος x είναι εύκολο να υπολογίσουμε το h(x). Άλλες επιθυμητές δυνατότητες είναι : Preimage resistance: Δεδομένου του h(x) είναι υπολογιστικά αδύνατο να βρεθεί μια ακολουθία x η οποία να δίνει αποτέλεσμα h(x). 2nd preimage resistance: Δεδομένου του x είναι υπολογιστικά αδύνατο να βρεθεί μία δεύτερη ακολουθία x ώστε h(x)=h(x ) Collision resistance: Είναι υπολογιστικά αδύνατο να βρεθούν δύο διαφορετικές ακολουθίες x και x τέτοιες ώστε h(x)=h(x ) (β) Περιγράψτε αναλυτικά ποιες είναι οι δύο κατηγορίες ψηφιακών υπογραφών που βασίζονται σε κρυπτογραφία δημόσιου κλειδιού. Δώστε ένα παράδειγμα για τον τρόπο με τον οποίο γίνεται η επαλήθευση για κάθε μία από αυτές τις κατηγορίες. Ψηφιακές υπογραφές με ανάκτηση μηνύματος (with message recovery). Το αρχικό μήνυμα δεν αποτελεί είσοδο στη διαδικασία
επαλήθευσης της υπογραφής, αλλά ανακτάται κατά τη διαδικασία επαλήθευσης της υπογραφής. Δεν απαιτείται μεταφορά του αρχικού μηνύματος για την επαλήθευση της υπογραφής. Π.χ. Έστω ο Α θέλει να στείλει ένα μήνυμα στον Β. Ο Α κρυπτογραφεί το αρχικό κείμενο με το ιδιωτικό του κλειδί και το στέλνει στον Β. Ο Β το αποκρυπτογραφεί με τον δημόσιο κλειδί του Α και παίρνει το αρχικό κείμενο. Ψηφιακές υπογραφές με προσθήκη (with appendix). Σε αυτές τις υπογραφές απαιτείται η γνώση του αρχικού μηνύματος για την επαλήθευση της υπογραφής. Έτσι είναι απαραίτητο μαζί με την υπογραφή να μεταφέρουμε με κάποιο τρόπο και το μήνυμα (προστατευμένο ή μη). Τυπικά υπογράφουμε το αποτέλεσμα μιας συνάρτησης κατακερματισμού η είσοδος της οποίας είναι το αρχικό μήνυμα.π.χ. Έστω ο Α θέλει να στείλει ένα μήνυμα στον Β. Ο Α με μία hash function κατακερματίζει το αρχικό κείμενο και μετά το κρυπτογραφεί με το ιδιωτικό του κλειδι και το στέλνει στον Β μαζί με το αρχικό κείμενο. Ο Β αποκρυπτογραφεί με το δημόσιο κλειδί του Α το κρυπτογράφημα και και κατακερματίζει το αρχικό κείμενο με την h(x), αν βγάλει την ίδια τιμή επαληθεύεται η ταυτότητα του Α. 2. (α) Τι μας παρέχει το SSL από πλευράς ασφάλεια και με ποιους μηχανισμούς τα επιτυγχάνει; Το πρωτόκολλο SSL παρέχει TCP/IP ασφάλεια σύνδεσης, η οποία έχει τρεις βασικές ιδιότητες: Οι επικοινωνούντες μπορούν να κρυπτογραφούνται αμοιβαία χρησιμοποιώντας κρυπτογραφία δημόσιου κλειδιού. Επιτυγχάνεται εμπιστευτικότητα μεταδιδόμενων δεδομένων, αφού η σύνδεση κρυπτογραφείται διαφανώς μετά από μία αρχική χειραψία και το καθορισμό ενός κλειδιού συνόδου. Προστατεύεται η ακεραιότητα των μεταδιδόμενων δεδομένων, καθώς τα μηνύματα αυθεντικοποιούνται διαφανώς και ελέγχονται ως προς την ακεραιότητα τους κατά τη μετάδοση με χρήση MACs. Ωστόσο το SSL είναι ευάλωτο σε επιθέσεις τύπου traffic analysis.συνοπτικά το πρωτόκολλο SSL μας παρέχει υπηρεσίες εμπιστευτικότητας, αυθεντικοποίησης και ακεραιότητας. (β) Ποια είναι η διαδικασία που πρέπει να ακολουθήσει ο παραλήπτης για να πάρει τα δεδομένα που αποστέλλονται. Ο παραλήπτης μπορεί να αρχίσει να λαμβάνει δεδομένα μόλις εκτελεστεί το handshake protocol,ένα πρωτόκολλό αυθεντικοποίησης και ανταλλαγής κλειδιών το οποίο επίσης διαπραγματεύεται, αρχικοποιεί και συγχρονίζει τις παραμέτρους ασφαλείας και την αντίστοιχη κατάσταση
και στα δύο άκρατης σύνδεσης. Μετά την ολοκλήρωση του handshake protocol, τα δεδομένα των εφαρμογών μπορούν να αποστέλλονται μέσω του SSL record protocol ακλουθώντας τις συμφωνημένες παραμέτρους ασφαλείας και κατάστασης. 4. Σχεδιάστε ένα ασφαλές πρωτόκολλο αμφίδρομης αυθεντικοποίησης και δημιουργίας κλειδιού συνόδου χρησιμοποιώντας αποκλειστικά μηχανισμούς που βασίζονται σε συμμετρική κρυπτογράφηση