Ασφάλεια Υπολογιστικών Συστημάτων

Σχετικά έγγραφα
Ασφάλεια Υπολογιστικών Συστημάτων

Ασφάλεια Υπολογιστικών Συστημάτων

Ασφάλεια Υπολογιστικών Συστημάτων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ασφάλεια Υπολογιστικών Συστημάτων

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Ασφάλεια Υπολογιστικών Συστημάτων

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Ασφάλεια Πληροφοριακών Συστημάτων

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Εισαγωγή στους Αλγορίθμους

Ασφάλεια Υπολογιστικών Συστημάτων

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ασφάλεια Πληροφοριακών Συστημάτων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Εισαγωγή στους Αλγορίθμους

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Διοικητική Λογιστική

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΑΝΑΛΥΣΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Οικονομετρία Ι. Ενότητα 8: Κανονικότητα. Δρ. Χαϊδώ Δριτσάκη Τμήμα Λογιστικής & Χρηματοοικονομικής

Ασφάλεια Υπολογιστικών Συστημάτων

Μηχανολογικό Σχέδιο Ι

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Στατιστική Ι. Ενότητα 3: Στατιστική Ι (3/4) Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Συστήματα Αναμονής. Ενότητα 3: Στοχαστικές Ανελίξεις. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Ειδικά Θέματα Δικτύων Ι

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Ηλεκτροτεχνία ΙΙ. Ενότητα 1: Βασικές Έννοιες Ηλεκτροτεχία Ηλεκτρονική. Δημήτρης Στημονιάρης, Δημήτρης Τσιαμήτρος Τμήμα Ηλεκτρολογίας

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ασφάλεια Πληροφοριακών Συστημάτων

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Οργάνωση και Διοίκηση Πωλήσεων

Οικονομετρία Ι. Ενότητα 5: Ανάλυση της Διακύμανσης. Δρ. Χαϊδώ Δριτσάκη Τμήμα Λογιστικής & Χρηματοοικονομικής

Ψηφιακή Επεξεργασία Εικόνων

Οργάνωση και Διοίκηση Πωλήσεων Ενότητα 1: Ο ΡΟΛΟΣ ΤΩΝ ΠΩΛΗΣΕΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΜΑΡΚΕΤΙΝΓΚ

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 2 η : ΠΕΡΙΓΡΑΦΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΑΘΗΜΑΤΙΚΑ ΜΟΝΤΕΛΑ

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Σχεδίαση Δικτύων Υπολογιστών

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Στατιστική Ι. Ενότητα 2: Στατιστική Ι (2/4) Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Συστήματα Αναμονής. Ενότητα 4: Αλυσίδες Markov. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Βάσεις Περιβαλλοντικών Δεδομένων

Διδακτική της Πληροφορικής

Εισαγωγή στους Υπολογιστές

Οικονομετρία Ι. Ενότητα 3: Θεώρημα των Gauss Markov. Δρ. Χαϊδώ Δριτσάκη Τμήμα Λογιστικής & Χρηματοοικονομικής

Ασφάλεια Υπολογιστικών Συστημάτων

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΑΝΤΙΡΡΥΠΑΝΤΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΑΙΩΡΟΥΜΕΝΩΝ ΣΩΜΑΤΙΔΙΩΝ Ενότητα 2: Αιωρούμενα σωματίδια & Απόδοση συλλογής Αν. Καθ. Δρ Μαρία Α. Γούλα Τμήμα Μηχανικών

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Λογιστική Κόστους Ενότητα 5: Προορισμός Κόστους

Συστήματα Αναμονής. Ενότητα 7: Ουρά Μ/Μ/1. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

Δομές Δεδομένων Ενότητα 1

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Συστήματα Αναμονής. Ενότητα 5: Ανέλιξη Poisson. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Transcript:

Ασφάλεια Υπολογιστικών Συστημάτων Ενότητα 3: Κρυπτογραφία δημόσιου κλειδιού Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Αυτή η ενότητα πραγματεύεται ζητήματα σχετικά με την κρυπτογραφία δημόσιου κλειδιού. 4

Περιεχόμενα ενότητας (1/5) Πιστοποίηση Αυθεντικότητας Μηνυμάτων. Προσεγγίσεις Πιστοποίησης Αυθεντικότητας Μηνυμάτων. Πιστοποίηση με χρήση συμβατικής κρυπτογράφησης. Πιστοποίηση αυθεντικότητας χωρίς κρυπτογράφηση. Παραδείγματα. 5

Περιεχόμενα ενότητας (2/5) Message Authentication Code - MAC. Μονόδρομη Συνάρτηση Κατακερματισμού. Απαιτήσεις Συναρτήσεων Κατακερματισμού. Απλές συναρτήσεις κατακερματισμού. Ασφαλής Συνάρτηση Κατακερματισμού SHA-1. Ασφαλής Συνάρτηση Κατακερματισμού SHA-512. Άλλοι ασφαλείς αλγόριθμοι κατακερματισμού. 6

Περιεχόμενα ενότητας (3/5) HMAC. Ιστορία Κρυπτογραφίας. Αλγόριθμος Καίσαρα. Permutation Algorithm. Αρχές κρυπτογραφίας δημόσιου κλειδιού. Δομή κρυπτογράφησης δημόσιου κλειδιού. Γενικός αλγόριθμος κρυπτογράφησης δημόσιου κλειδιού. 7

Περιεχόμενα ενότητας (4/5) Εφαρμογές κρυπτογραφικών συστημάτων δημοσίου κλειδιού. Απαιτήσεις κρυπτογραφίας δημόσιου κλειδιού. Ο αλγόριθμος δημόσιου κλειδιού RSA. Κατάρριψη αλγορίθμου RSA. Ανταλλαγή κλειδιών Diffie-Hellman. Ανταλλαγή κλειδιών Diffie-Hellman - Παράδειγμα. Άλλοι κρυπτογραφικοί αλγόριθμοι. 8

Περιεχόμενα ενότητας (5/5) Ψηφιακές υπογραφές. Προβλήματα Ψηφιακής Υπογραφής. Νομικό Πλαίσιο. Ηλεκτρονικά Υπογεγραμμένο Έγγραφο. Πιστοποιητικά δημόσιων κλειδιών. Βιβλιογραφία. 9

Κρυπτογραφία δημόσιου κλειδιού

Πιστοποίηση Αυθεντικότητας Μηνυμάτων Ένα μήνυμα/αρχείο/έγγραφο θεωρείται γνήσιο όταν. Προέρχεται όντως από την προέλευση που δηλώνει. Τα περιεχόμενά του δεν έχουν μεταβληθεί. Δεν έχει σκόπιμα καθυστερήσει/αναμεταδοθεί. Η Πιστοποίηση Αυθεντικότητας Μηνυμάτων (message authentication) προστατεύει από ενεργητικές επιθέσεις. Σε αντίθεση με την κρυπτογράφηση. 11

Προσεγγίσεις Πιστοποίησης Αυθεντικότητας Μηνυμάτων Με χρήση συμβατικής κρυπτογράφησης (Authentication Using Conventional Encryption). Χωρίς κρυπτογράφηση (Authentication without Message Encryption). Message Authentication Code - MAC. 12

Πιστοποίηση με χρήση συμβατικής κρυπτογράφησης Μόνο αποστολέας και παραλήπτης μοιράζονται κάποιο κλειδί. Άρα μόνο ο αυθεντικός αποστολέας μπορεί να κρυπτογραφήσει επιτυχώς το μήνυμα. Για περεταίρω επιβεβαίωση της αυθεντικότητας της αποστολής, μπορούν να χρησιμοποιηθούν επιπλέον: Κώδικας ανίχνευσης σφαλμάτων (error-detection code). Αριθμός ακολουθίας (Sequence Number). Χρονοσήμανση (Timestamp). 13

Πιστοποίηση αυθεντικότητας χωρίς κρυπτογράφηση Προσαρτάται ετικέτα πιστοποίησης αυθεντικότητας (authentication tag) στα μηνύματα. Τα μηνύματα δεν είναι κρυπτογραφημένα. Δεν εξασφαλίζεται το απόρρητο της επικοινωνίας. Τότε για ποιο λόγο να χρησιμοποιηθεί; Ακολουθούν 3 παραδείγματα. 14

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

Message Authentication Code - MAC (1/3) Χρήση μυστικού κλειδιού για την παραγωγή του κωδικού πιστοποίησης αυθεντικότητας μηνυμάτων (MAC). Προσαρτάται στο μήνυμα. Τα επικοινωνούντα μέλη μοιράζονται το ίδιο κλειδί KAB. MACM = F( KAB,M ). O κωδικός MAC αποστέλλεται μαζί με το μήνυμα. Ο παραλήπτης κάνει την ίδια διαδικασία και συγκρίνει τον κωδικό που υπολόγισε με τον κωδικό που παρέλαβε. 16

Message Authentication Code - MAC (2/3) Βεβαιώνεται ότι το μήνυμα. Δεν τροποποιήθηκε. Ο επιτιθέμενος μπορεί να αλλάξει το μήνυμα αλλά όχι και τον κωδικό με αντίστοιχο τρόπο αφού δεν γνωρίζει το κλειδί. Προέρχεται από τον σωστό αποστολέα. Μόνο αυτός γνωρίζει το μυστικό κλειδί. Αν περιέχει το μήνυμα αριθμό ακολουθίας βεβαιώνεται και η σωστή ακολουθία του μηνύματος. Ο αριθμός ακολουθίας δεν μπορεί να αλλαχθεί επιτυχώς. 17

Message Authentication Code - MAC (3/3) Παρόμοια διαδικασία με κρυπτογράφηση. Ο αλγόριθμος όμως εδώ δεν είναι απαραίτητα αντιστρέψιμος. Λιγότερο ευπαθής από την κρυπτογράφηση. 18

Μονόδρομη Συνάρτηση Κατακερματισμού Εναλλακτική της MAC. Είσοδος: Αρχείο Μ. Έξοδος: Σύνοψη μηνύματος H(M). Message digest. Δεν χρησιμοποιείται μυστικό κλειδί. Ο τρόπος αποστολής της σύνοψης με το μήνυμα την καθιστά αυθεντική. 19

Απαιτήσεις Συναρτήσεων Κατακερματισμού Σκοπός: η παραγωγή fingerprint. Ιδιότητες Συναρτήσεων Κατακερματισμού Η(). Εφαρμόζονται σε οποιουδήποτε μεγέθους τμήματα δεδομένων. Παράγει έξοδο συγκεκριμένου σταθερού μεγέθους. Εύκολος υπολογισμός του H(x) για οποιοδήποτε x. Για οποιοδήποτε h να είναι αδύνατο να βρεθεί το x για το οποίο Η(x) = h (ιδιότητα one way). Για οποιοδήποτε x να είναι αδύνατο να βρεθεί y x με H(x) = H(y) (ιδιότητα ασθενούς ανθεκτικότητας). Eίναι αδύνατον να βρεθεί ζευγάρι (x,y) ώστε Η(x) = H(y) (ιδιότητα ισχυρής ανθεκτικότητας). 20

Απλές Συναρτήσεις Κατακερματισμού (1/4) Όλες οι συναρτήσεις κατακερματισμού λειτουργούν με βάση τις ακόλουθες αρχές: Η είσοδος αντιμετωπίζεται σαν ακολουθία από τμήματα των n bit. Η επεξεργασία της εισόδου γίνεται κατά ένα τμήμα τη φορά, με επαναληπτικό τρόπο. Στο τέλος παράγεται έξοδος των n bits. 21

Απλές Συναρτήσεις Κατακερματισμού (2/4) Ci = bi1 bi2... bim. Ci: Το i bit του κωδικού κατακερματισμού. m: Ο αριθμός των τμημάτων των n bit στην είσοδο. bij: Το i bit του j τμήματος. : Ο συντελεστής XOR. 22

Απλές Συναρτήσεις Κατακερματισμού (3/4) Longitudinal Redundancy Check - LRC. Έλεγχος ακεραιότητας τυχαίων δεδομένων. Η πιθανότητα λάθος δεδομένα να οδηγήσουν στην ίδια τιμή κατακερματισμού είναι 2-n. Όχι αποτελεσματική σε δεδομένα με προβλέψιμη μορφή. Κείμενα αρχείου MSB = 0. 23

Απλές Συναρτήσεις Κατακερματισμού (4/4) Longitudinal Redundancy Check - LRC (Συνέχεια). Λύση: Κυκλική ολίσθηση. Αρχική τιμή κατακερματισμού = 0. Για κάθε τμήμα. Μεταφέρουμε την τρέχουσα τιμή προς τα αριστερά κατά 1 bit. Εφαρμόζουμε στο τμήμα XOR με την τιμή κατακερματισμού. 24

Ασφαλής Συνάρτηση Κατακερματισμού SHA-1 Παράγει τιμή κατακερματισμού μήκους 160 bit. Εκδόσεις SHA-256, SHA-384, SHA-512. Τιμή κατακερματισμού 256, 384, 512 bit, αντίστοιχα. Ίδια βασική δομή με την SHA-1. Για την SHA-512 ισχύει. Είσοδος: μήνυμα με μέγιστο μήκος 2128 bit. Έξοδος: σύνοψη μήκους 512 bit. Επεξεργασία εισόδου σε block των 1024 bit. 25

Ασφαλής Συνάρτηση Κατακερματισμού SHA-512 (1/4) Βήμα 1: Προσάρτηση των bit συμπλήρωσης. Μήκος μηνύματος 896 (mod 1024). Bit συμπλήρωσης: 1000 0. Βήμα 2: Προσάρτηση του μήκους. Προσάρτηση block 128 bit (μη προσημασμένος ακέραιος) που περιέχει το μήκος του μηνύματος πριν την συμπλήρωση. 26

Ασφαλής Συνάρτηση Κατακερματισμού SHA-512 (2/4) Βήμα 3: Απόδοση αρχικών τιμών στην περιοχή προσωρινής αποθήκευσης κατακερματισμού. Buffer αποθήκευσης αποτελεσμάτων. 8 καταχωρητές των 64 bit (a, b, c, d, e, f, g, h). Αρχικοποίηση με δεκαεξαδικές τιμές. 64 πρώτα bit του δεκαδικού μέρους της τετραγωνικής ρίζας των πρώτων 8 πρώτων αριθμών. 27

Ασφαλής Συνάρτηση Κατακερματισμού SHA-512 (3/4) Βήμα 4: Επεξεργασία του μηνύματος σε τμήματα των 1024 bit. 80 γύροι επεξεργασίας. Είσοδος κάθε γύρου: Τα περιεχόμενα του buffer. Wi: Προκύπτει από επεξεργασία του Mi. Ki: 64 πρώτα bit του δεκαδικού μέρους της ρίζας των πρώτων 80 πρώτων αριθμών χρησιμοποιείται για να απαλείψει τυχόν κανονικότητες στα δεδομένα εισόδου. Η έξοδος του 80ου γύρου προστίθεται στην είσοδο του 1ου γύρου του επόμενου «κομματιού». 28

Ασφαλής Συνάρτηση Κατακερματισμού SHA-512 (4/4) Βήμα 5: Έξοδος. Το Βήμα 4 πραγματοποιείται για τα Ν τμήματα. Η έξοδος του σταδίου Ν είναι και η σύνοψη του μηνύματος. 29

Άλλοι ασφαλείς αλγόριθμοι κατακερματισμού Πίνακας 1. Άλλοι ασφαλείς αλγόριθμοι κατακερματισμού. Πηγή: Διδάσκων (2015). Μέγεθος σύνοψης Μέγεθος μονάδας επεξεργασίας Μέγιστο μέγεθος αρχικού μηνύματος SHA-512 MD5 Whirlpool 512 bits 128 bits 512 bits 1024 bits 512 bits 512 bits 2 128 bits 30

HMAC Ανάπτυξη κωδικών πιστοποίησης αυθεντικότητας μηνυμάτων (MAC) με βάση έναν κρυπτογραφικό κωδικό κατακερματισμού π.χ. SHA-1. Κίνητρα. Πιο γρήγορη εκτέλεση συναρτήσεων κατακερματισμού σε σχέση με αλγορίθμους κρυπτογραφίας (π.χ. DES). Ευρέως διαθέσιμες βιβλιοθήκες κώδικα για συναρτήσεις κατακερματισμού. 31

HMAC Περιγραφή Η: Συνάρτηση κατακερματισμού. Μ: Μήνυμα εισόδου. Υi: Το τμήμα i του Μ. L: Ο αριθμός τμημάτων του Μ. b: Αριθμός bit ενός τμήματος. n: Μέγεθος κωδικού κατακερματισμού από την Η. K: Μυστικό κλειδί. Κ+: Το Κ συμπληρωμένο με 0 ώστε να έχει μήκος b bits. ipad: 00110110 b/8 φορές. opad: 0101100 b/8 φορές. 32

HMAC - Βήματα HMAC(K,M) = H[(K+ opad) H[(K+ ipad) M]] Προσάρτηση 0 στο αριστερό άκρο του Κ για την δημιουργία του K+. XOR στο K+ με το ipad για την παραγωγή του Si μήκους b bit. Προσάρτηση Μ στο Si. Εφαρμογή του Η στη ροή που δημιουργείται στο βήμα 3. XOR στο K+ με το opad για την παραγωγή του So μήκους b bit. Προσάρτηση αποτελέσματος κατακερματισμού από το βήμα 4 στο So. Εφαρμογή της Η στη ροή που δημιουργείται στο βήμα 6 και έξοδος του αποτελέσματος. 33

Ιστορία Κρυπτογραφίας Αλγόριθμος αντικατάστασης. Caesar s cipher. Αλγόριθμος μετάθεσης. Permutation algorithm. 34

Αλγόριθμος Καίσαρα Κάθε γράμμα του αλφάβητου αντικαθίσταται από το γράμμα βρίσκεται x θέσεις πιο κάτω στο ίδιο αλφάβητο. Το όνομά του οφείλεται στο Ιούλιο Καίσαρα. Τον χρησιμοποιούσε για να επικοινωνεί με τους στρατηγούς του με ασφάλεια. 35

Permutation Algorithm Κάθε γράμμα του αρχικού κειμένου αντικαθίσταται από κάποιο άλλο γράμμα του αρχικού κειμένου. Δεν αλλάζει τους ίδιους τους χαρακτήρες απλά αλλάζει την θέση τους στο κείμενο. Άρα μπορεί εύκολα να ανιχνευθεί με βάση την συχνότητα εμφάνισης των γραμμάτων. 36

Αρχές κρυπτογραφίας δημόσιου κλειδιού Οι αλγόριθμοι δημοσίου κλειδιού βασίζονται σε μαθηματικές συναρτήσεις και όχι πράξεις bit. Ασύμμετρη κρυπτογράφηση. Περιλαμβάνει χρήση 2 ξεχωριστών κλειδιών. Συνέπειες σε: Εμπιστευτικότητα. Διανομή κλειδιών. Πιστοποίηση αυθεντικότητας. Υπολογιστικά αδύνατο να υπολογιστεί το κλειδί αποκρυπτογράφησης από την γνώση του κλειδιού κρυπτογράφησης και του αλγορίθμου που χρησιμοποιήθηκε. 37

Δομή κρυπτογράφησης δημόσιου κλειδιού Το σύστημα κρυπτογράφησης έχει 5 στοιχεία: 1. Αρχικό κείμενο (plaintext). 2. Αλγόριθμος κρυπτογράφησης (encryption algorithm). 3. Δημόσιο και ιδιωτικό κλειδί (public and private key). Για κρυπτογράφηση/αποκρυπτογράφηση. 4. Κρυπτογράφημα (ciphertext). 5. Αλγόριθμος αποκρυπτογράφησης (decryption algorithm). 38

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

Εφαρμογές κρυπτογραφικών συστημάτων δημοσίου κλειδιού Τρεις κατηγορίες: 1. Κρυπτογράφηση/αποκρυπτογράφηση. Αποστολέας υπογράφει με δημόσιο κλειδί παραλήπτη. 2. Ψηφιακή υπογραφή. Αποστολέας «υπογράφει» με ιδιωτικό κλειδί. 3. Ανταλλαγή κλειδιών. Δύο πλευρές συνεργάζονται για την ανταλλαγή κλειδιού περιόδου εργασίας (session key). 40

Απαιτήσεις κρυπτογραφίας δημόσιου κλειδιού (1/2) Να είναι υπολογιστικά εύκολο για ένα μέλος Β να δημιουργεί ένα ζεύγος PUb, PRb. Να είναι υπολογιστικά εύκολο για τον αποστολέα να δημιουργεί το κρυπτογράφημα. C = E( PUb, M ). Να είναι υπολογιστικά εύκολο για τον παραλήπτη να αποκρυπτογραφεί το κρυπτογράφημα με το ιδιωτικό κλειδί. Μ = D(PRb, C) = D [ PRb, E( PUb, M ) ]. 41

Απαιτήσεις κρυπτογραφίας δημόσιου κλειδιού (2/2) Να είναι υπολογιστικά αδύνατο για κάποιον επιτιθέμενο που γνωρίζει το δημόσιο κλειδί να βρίσκει το ιδιωτικό κλειδί. Να είναι υπολογιστικά αδύνατο για κάποιον επιτιθέμενο που γνωρίζει το δημόσιο κλειδί και ένα κρυπτογράφημα να ανακτήσει το αρχικό μήνυμα. Οποιοδήποτε από τα δυο συσχετισμένα κλειδιά μπορεί να χρησιμοποιηθεί για κρυπτογράφηση, με το άλλο να χρησιμοποιείται για αποκρυπτογράφηση. Μ = D [ PUb, E( PRb, M ) ] = D [ PRb, E( Pub, M ) ]. 42

Αλγόριθμοι κρυπτογραφίας δημόσιου κλειδιού Οι πιο συχνά χρησιμοποιούμενοι είναι οι RSA και Hellman. RSA. Ron Rivest, Adi Shamir, Led Adleman MIT, 1977. O RSA είναι κωδικοποιητής τμημάτων. Η πιο ευρέως αποδεκτή κρυπτογράφηση δημόσιου κλειδιού. Diffie Hellman. Επιτρέπει την ανταλλαγή κλειδιών με ασφάλεια. Βασίζεται στην δυσκολία υπολογισμού διακριτών λογαρίθμων. 43

Ο αλγόριθμος δημόσιου κλειδιού RSA Επιλέγουμε 2 πρώτους αριθμούς p, q. Υπολογίζουμε το n=pq. Υπολογίζουμε το φ(n) = (p-1)(q-1). Επιλέγουμε e τέτοιο ώστε gcd(φ(n),e) = 1 και 1<e< φ(n). Ορίζουμε d ώστε de mod φ(n) = 1 και d< φ(n). Δημόσιο κλειδί PU = {e,n}. Ιδιωτικό κλειδί PR = {d,n}. C = Me mod n. M = Cd mod n = (Me)d mod n = Med mod n. 44

Κατάρριψη αλγορίθμου RSA Εξαντλητική αναζήτηση κλειδιών. Όσο μεγαλύτερα e, d τόσο ασφαλέστερος αλγόριθμος. Αλλά: Όσο μεγαλύτερο μήκος κλειδιού τόσο πιο αργή η εκτέλεση. 45

Ανταλλαγή κλειδιών Diffie- Hellman (1/2) q: Πρώτος αριθμός. α : α < q και α πρωτογενής ρίζα του q. Δημιουργία κλειδιού χρήστη Α. Επιλογή ιδιωτικού αριθμού ΧΑ με ΧΑ < q. Υπολογισμός δημόσιου ΥΑ με ΥΑ = α ΧΑ mod q. Δημιουργία κλειδιού χρήστη Β. Επιλογή ιδιωτικού αριθμού ΧΒ με ΧΒ < q. Υπολογισμός δημόσιου ΥΒ με ΥΒ = α ΧΒ mod q. 46

Ανταλλαγή κλειδιών Diffie- Hellman (2/2) Δημιουργία μυστικού κλειδιού από χρήστη Α. Κ = (ΥΒ)ΧΑ mod q. Δημιουργία μυστικού κλειδιού από χρήστη B. Κ = (ΥA)ΧB mod q. 47

Ανταλλαγή κλειδιών Diffie- Hellman - Παράδειγμα (1/2) q: Πρώτος αριθμός, q = 353. α: α < q και α πρωτογενής ρίζα του q, α = 3. Δημιουργία κλειδιού χρήστη Α. Επιλογή ιδιωτικού αριθμού ΧΑ με ΧΑ < q, ΧΑ= 97. Υπολογισμός δημόσιου ΥΑ με ΥΑ = α ΧΑ mod q, ΥΑ=397 mod 353 = 40. 48

Ανταλλαγή κλειδιών Diffie- Hellman - Παράδειγμα (2/2) Δημιουργία κλειδιού χρήστη Β. Επιλογή ιδιωτικού αριθμού ΧΒ με ΧΒ < q, ΧB= 233. Υπολογισμός δημόσιου ΥΒ με ΥΒ = α ΧΒ mod q, ΥB=3233 mod 353 = 248. Δημιουργία μυστικού κλειδιού από χρήστη Α. Κ = (ΥΒ)ΧΑ mod q = 24897 mod 353 = 160. Δημιουργία μυστικού κλειδιού από χρήστη B. Κ = (ΥA)ΧB mod q = 40233 mod 353 = 160. 49

Άλλοι κρυπτογραφικοί αλγόριθμοι Πρότυπο Ψηφιακής Υπογραφής (Digital Signature Standard). Χρησιμοποιεί τον αλγόριθμο SHA-1. Δεν μπορεί να χρησιμοποιηθεί για κρυπτογράφηση ή ανταλλαγή κλειδιών. Κρυπτογραφία ελλειπτικής καμπύλης (Elliptic-curve cryptography). Προσφέρει την ίδια ασφάλεια με τον RSA αλλά με πολύ μικρότερο αριθμό bit. Χαμηλό επίπεδο εμπιστοσύνης. Μεγάλη πολυπλοκότητα. 50

Ψηφιακές υπογραφές (1/2) Κρυπτογράφηση με ιδιωτικό κλειδί αποστολέα. Αποκρυπτογράφηση με δημόσιο κλειδί αποστολέα. Αποδεικνύει ποιος κρυπτογράφησε το μήνυμα. Ποιο αποτελεσματικό: κρυπτογράφηση ενός μόνο μικρού τμήματος bit του εγγράφου. Δεν προσφέρει ασφάλεια για υποκλοπή. 51

Ψηφιακές υπογραφές (2/2) Λειτουργίες. Επικυρώνει το κείμενο και επαληθεύει την προέλευσή του. Χρησιμοποιείται από τον παραλήπτη ως αποδεικτικό στοιχείο. Χρησιμοποιείται από τρίτο πρόσωπο με σκοπό την λύση παρεξηγήσεων. 52

Προβλήματα Ψηφιακής Υπογραφής Ο Κώστας θέλει να πλαστογραφήσει την ψηφιακή υπογραφή της Μαρίας. Μπορεί να υπογράψει μια επιταγή με το δικό του ιδιωτικό κλειδί και στη συνέχεια να παρουσιάσει το δημόσιο κλειδί του σαν να είναι της Μαρίας. Εάν οι υπόλοιποι βασιστούν στα λεγόμενά του, η πλαστογράφηση είναι πετυχημένη. Άρα χρειάζεται να υπάρχει εμπιστοσύνη απέναντι στην αντιστοίχηση κλειδιού και ταυτότητας. Η ψηφιακή υπογραφή δημιουργεί πρόβλημα αντιστοίχισης κλειδιών. Οπότε απαιτείται η ύπαρξη μιας τρίτης, έμπιστης οντότητας. 53

Νομικό Πλαίσιο Διεθνής αναγνώριση ψηφιακών υπογραφών ως ισότιμες με τις χειρόγραφες και σε μερικές περιπτώσεις ως ισχυρότερες. Η Ευρωπαϊκή οδηγία EC/93/99 για τις ηλεκτρονικές υπογραφές έχει ήδη υιοθετηθεί από όλα τα κράτη μέλη. Στην Ελλάδα υιοθετήθηκε με το ΠΔ150/2001. Η ΕΕΤΤ με την απόφαση 248/71 (ΦΕΚ 603/Β /16-5-2002) ρυθμίζει την διαπίστευση των παρόχων υπηρεσιών πιστοποίησης και την έκδοση αναγνωρισμένων πιστοποιητικών. 54

Ηλεκτρονικά Υπογεγραμμένο Έγγραφο Αποτελείται από τα στοιχεία: Κύριο έγγραφο οποιασδήποτε ηλεκτρονικής μορφής. Συνημμένη ηλεκτρονική υπογραφή. Χρονοσήμανση της υπογραφής. Αποδίδεται από τρίτο πάροχο υπηρεσιών. Καθορίζει την ακριβή ώρα δημιουργίας της υπογραφής. Πιστοποιητικό δημόσιου κλειδιού του υπογραφόντα. Αποδεικνύει ότι το κλειδί του υπογράφοντα ανήκει όντως σε αυτόν, ότι δηλαδή αυτός που υπογράφει είναι όντως αυτός ο οποίος ισχυρίζεται ότι είναι. 55

Πιστοποιητικά δημόσιων Πρόβλημα: κλειδιών (1/3) Εάν κάποιος προσποιηθεί ότι είναι ο χρήστης Α και δημοσιοποιήσει το δημόσιο κλειδί του, μπορεί να διαβάσει όλα τα μηνύματα που προορίζονται για τον Α. Λύση: Πιστοποιητικό δημόσιου κλειδιού. Αποτελείται από ένα δημόσιο κλειδί και ένα userid υπογεγραμμένα από τρίτο, έμπιστο μέλος (Certificate Authority). 56

Πιστοποιητικά δημόσιων κλειδιών (2/3) Ψηφιακά υπογεγραμμένη δομή δεδομένων που αντιστοιχίζει μία ή περισσότερες ιδιότητες μιας φυσικής οντότητας στο δημόσιο κλειδί που της ανήκει. Υπογράφονται από μια τρίτη, έμπιστη οντότητα (Trusted Third Party - TTP). Διασφαλίζει με τεχνικά, νομικά μέσα ότι ένα δημόσιο κλειδί ανήκει σε μια συγκεκριμένη οντότητα. Άρα η οντότητα αυτή είναι ο νόμιμος κάτοχος του αντίστοιχου ιδιωτικού κλειδιού. 57

Πιστοποιητικά δημόσιων κλειδιών (3/3) Στοιχεία πιστοποιητικού: Πληροφοριακά στοιχεία για τον χρήστη. Το δημόσιο κλειδί του χρήστη. Το όνομα μιας Αρχής Πιστοποίησης (CA). Την ψηφιακή υπογραφή της CA. 58

Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Νικολάου Σπύρος. «Ασφάλεια Υπολογιστικών Συστημάτων». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: 59

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 60

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 61

Βιβλιογραφία 1. Κρυπτογραφία για Ασφάλεια Δικτύων Αρχές και Εφαρμογές, Stallings. 2. Βασικές Αρχές Ασφάλειας Δικτύων: Εφαρμογές και Πρότυπα, William Stallings. 3. Ασφάλεια δικτύων 6η Έκδοση, McClure Stuart, Scambray Joel, Kurtz George. 4. Ασφάλεια Πληροφοριακών συστημάτων, Παγκαλος Γ., Μαυριδης Ι. 62

Τέλος Ενότητας