Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων

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

Ασφάλεια στο WWW SSL/TLS

Δίκτυα Υπολογιστών Ενότητα 6: Secure Sockets Layer - SSL

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών;

Περιεχόµενα. Ασφάλεια σε επίπεδο µεταφοράς και εφαρµογών SSL / TLS SSH. Ασφάλεια ικτύων, Τµήµα Πληροφορικής, Ο.Π.Α., ρ. Ι.

Cryptography and Network Security Chapter 16. Fifth Edition by William Stallings

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά

Σχεδιασμός Εικονικών Δικτύων Ενότητα 6: Εικονικά Ιδιωτικά Δίκτυα Επιπέδου Μεταφοράς - Secure Sockets Layer (SSL) / Transport Layer Security (TLS)

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

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Πρόγραμμα Μεταπτυχιακών Σπουδών (Π.Μ.Σ.) Ασφάλεια Δικτύων. Δρ. Κωνσταντίνος Παπαπαναγιώτου

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

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

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

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά

Ρ ΓΑ Σ Τ Ή Ρ Ι Ο 8 Α Σ Φ Ά Λ Ε Ι Α Σ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Ώ Ν Σ Υ Σ Τ Η Μ ΆΤ Ω Ν

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

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

ΣΕΜΙΝΑΡΙΟ. ΠΑΡΟΥΣΙΑΣΗ 19/5/11 Αµφιθέατρο

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

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών

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

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

Ανάλυση Δικτυακής Κίνησης Πρωτοκόλλων Υπηρεσιών. Ασφάλεια Δικτύων. (4 η άσκηση) Διαχείριση Δικτύων - Ευφυή Δίκτυα, 9 ο Εξάμηνο,

ΑΣΦΑΛΕΙΣ ΗΛΕΚΤΡΟΝΙΚΕΣ ΣΥΝΑΛΛΑΓΕΣ

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

Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Π ΑΤ Ρ Ω Ν

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

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

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

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

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

Κεφάλαιο 22. Πρωτόκολλα και πρότυπα ασφαλείας του Διαδικτύου

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

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

CVE the SSL Heartbleed bug. SSL Renegotiation Attack

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

Σχεδιασμός Εικονικών Δικτύων Ενότητα 4α: VPN on IPSec

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ: ΑΣΦΑΛΕΙΑ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΤΣΙΑΝΤΗΣ ΛΕΩΝΙΔΑΣ ΣΠΟΥΔΑΣΤΕΣ: ΜΑΝΤΖΙΟΣ ΙΩΑΝΝΗΣ ΜΠΑΝΤΙΑΣ ΣΠΥΡΙΔΩΝ

6/1/2010. Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών. Περιεχόμενα. Εισαγωγή /1 IEEE

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

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

8.3 Ασφάλεια ικτύων. Ερωτήσεις

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

Σχεδιασμός Εικονικών Δικτύων Ενότητα 4β: VPN on IPSec (Μέρος 2ο)

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

Εφαρμοσμένη Κρυπτογραφία Ι

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Υλοποίηση σχημάτων ασφαλείας σε ασύρματα δίκτυα

Τεχνολογίες ιαδικτύου

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία

Ασφάλεια (PGP)

Freedom of Speech. Κρυπτογραφία και ασφαλής ανταλλαγή πληροφοριών στο Internet

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

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Αννα Νταγιου ΑΕΜ: 432. Εξαμηνο 8. Ερώτηση 1. Πληκτρολογήστε την εντολή: openssl help Παρατηρήστε τις πληροφορίες που λαµβάνετε.

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές

Δίκτυα Υπολογιστών I

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑΤΟΣ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΣΦΑΛΕΙΑ ΔΙΑΔΙΚΤΥΑΚΗΣ ΔΙΑΚΙΝΗΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος

3/27/2010. Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών. Περιεχόμενα. ΑΑΑ εισαγωγή /1 IEEE

Τ.Ε.Ι Π Ε Ι Ρ Α Ι Α ΤΜΗΜΑ Η/Υ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΜΑΘΗΜΑΤΩΝ μυ/σ Εργαστήριο Περιφερειακών Μονάδων και Δικτύων Η/Υ PeLAB

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Υπηρεσία Ηλεκτρονικού Ταχυδρομείου - SMTP

Ασφάλεια στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

7.2 Τεχνολογία TCP/IP

ΨΗΦΙΑΚΑ ΠΙΣΤΟΠΟΙΗΤΙΚΑ ΓΙΑ ΑΣΦΑΛΗ ΚΑΙ ΠΙΣΤΟΠΟΙΗΜΕΝΗ ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΗΝ ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ. Οδηγίες προς τις Συνεργαζόμενες Τράπεζες

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

7.2.2 Σχέση OSI και TCP/IP

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

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

6.2 Υπηρεσίες Διαδικτύου

Διαχείριση Δικτύων Εργαστήριο (Διαφάνειες)

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

ΔΙΚΤΥΑ ΔΗΜΟΣΙΑΣ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ Ενότητα #11: Ασφάλεια δικτύων

Διαδικασία έκδοσης ψηφιακού πιστοποιητικού για το ΤΕΙ Κρήτης

Πρωτόκολλο FTP. Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Εισαγωγή. Χρήστος Ξενάκης

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Διαχείριση Ασφαλείας (Ι) Απειλές Ασφαλείας Συμμετρική & Μη-Συμμετρική Κρυπτογραφία

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

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ στα Πληροφοριακά Συστήματα Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ.

Ασφάλεια ικτύων (Computer Security)

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΑΚΥΒΕΡΝΗΣΗ ΣΤΗΝ ΕΕ

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία

Network Address Translation (NAT)

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

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΚΤΥΩΝ

Περιεχόμενα. Πλευρές Ασφάλειας Ιδιωτικό Απόρρητο. Ψηφιακή Υπογραφή. Ψηφιακά Πιστοποιητικά Τα πρωτόκολλα SSL και SET

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

Transcript:

Ασφάλεια στο Internet: Πρωτόκολλα Ασφάλειας Επιπέδου Μεταφοράς Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιά

Το μοντέλο του Internet t 2/31

Σχέσεις πρωτοκόλλων ασφαλείας και TCP/IP στοίβας PGP. SET........ SSL TCP TCP TCP TCP AH ESP IP IP IP Επίπεδο ικτύου Επίπεδο Μεταφοράς Επίπεδο Εφαρμογής Πάνω από το επίπεδο Εφαρμογής 3/31

Secure Shell SSH (1/2) Το SSH είναι ένα σχετικά απλό πρόγραμμα το οποίο μπορεί να χρησιμοποιηθεί: - Για να συνδεθεί μια οντότητα ασφαλώς με μια άλλη η οποία είναι απομακρυσμένη - Να εκτελεί εντολές σε εκείνη - Να μεταφέρει αρχεία από μια μηχανή σε μια άλλη Αρχικά προοριζόταν για αντικατάσταση εργαλείων του Unix (rlogin, telnet) 4/31

Secure Shell SSH (2/2) To SSH χρησιμοποιεί ένα γενικό πρωτόκολλο ασφαλείας επιπέδου μεταφοράς Όταν χρησιμοποιείται πάνω από το TCP Ο εξυπηρέτης ακούει για συνδέσεις SSH στη θύρα 22 Το SSH παρέχει υποστήριξη για αμοιβαία αυθεντικοποίηση, συμπίεση δεδομένων, εμπιστευτικότητα και ακεραιότητα δεδομένων 5/31

Εκτέλεση πρωτοκόλλου SSH (1/2) Αίτηση αυθεντικοποίησης Host Key + Server Key (Τυπικά RSA κλειδιά 1024 & 768 bits) Κρυπτογραφημένο κλειδί συνόδου OK Το κλειδί συνόδου δημιουργείται από τον client Session_Key = ((256_bits_random_number) Host_Key ) Server_key 6/31

Εκτέλεση πρωτοκόλλου SSH (2/2) Σε ορισμένες περιπτώσεις απαιτείται η πιστοποίηση της ταυτότητας του χρήστη που αιτείται σύνδεσης Αρχικά ο client, αποστέλλει μια αίτηση πιστοποίησης ταυτότητας στο server Η αίτηση περιέχει το όνομα του χρήση που πρόκειται νασυνδεθεί δθί Για παράδειγμα, στην έκδοση 1.0 του F-Secure SSH υποστηρίζονται δύο μέθοδοι αυθεντικοποίησης: - Με συνθηματικό (μεταφέρεται κρυπτογραφημένο) - Με RSA (Challenge Response) 7/31

Αλγόριθμοι Συμπίεσης και Κρυπτογράφησης SSH 2.0 Αλγόριθμοι Συμπίεσης None Χωρίς συμπίεση Υποχρεωτική Zlib GNU ZLIB συμπίεση στο επίπεδο Προαιρετική Αλγόριθμοι Κρυπτογράφησης None Χωρίς κρυπτογράφηση Προαιρετική 3des-CBC Three key Triple-DES σε CBC mode Υποχρεωτική idea-cbc IDEA σε CBC mode Προαιρετική Arcfour ARCFOUR stream cipher Προαιρετική Blowfish- Blowfish σε CBC mode Προαιρετική CBC 8/31

Μέθοδοι Αυθεντικοποίησης ης χρηστών στο SSH 2.0 Μέθοδοι Αυθεντικοποίησης password Password Αυθεντικοποίηση Secured SecurID αυθεντικοποίηση Sey S/Key one-time password αυθεντικοποίηση Oie OPIE one-time password αυθεντικοποίηση publickey Κατοχή του Ιδιωτικού κλειδιού hostbased Ταυτότητα του host πελάτη και του χρήστη kerberos4 Kerberos V4 αυθεντικοποίηση kerberos5 Kerberos V5 αυθεντικοποίηση kerberos-afs AFS Kerberos αυθεντικοποίηση 9/31

Διαδικασία αυθεντικοποίησης Το πρωτόκολλο αυθεντικοποίησης εκτελείται πάνω από το πρωτόκολλο μεταφοράς SSH για να παρέχει αυθεντικοποίηση ηχρήστη Ο client δηλώνει το όνομα της υπηρεσίας και το όνομα του χρήστη ο οποίος επιθυμεί να έχει πρόσβαση σ αυτή Ο server απαντά με το σύνολο των μεθόδων αυθεντικοποίησης για τη συγκεκριμένη υπηρεσία Ο client επιστρέφει μια αντίστοιχη αίτηση αυθεντικοποίησης στο server Ο διάλογος συνεχίζεται ανάλογα με τη μέθοδο, έως ότου η πρόσβαση επιτραπεί ή απορριφθεί 10/31

SSL: Τοποθέτηση στην αρχιτεκτονική TCP/IP Client Server Application Application SSL Handshake SSL Record SSL Handshake SSL Record TCP/IP TCP/IP 11/31

To SSL και οι εφαρμογές Το SSL στρωματοποιείται στην κορυφή ρφή μιας αξιόπιστης υπηρεσίας μεταφοράς (TCP) HTTP NNTP FTP Είναι σε θέση να παρέχει υπηρεσίες ασφαλείας για αυθαίρετες TCP/IP εφαρμογές. Πλεονέκτημα του SSL, η ανεξαρτησία ξρη από την εφαρμογή Μπορεί να χρησιμοποιηθεί για να παρέχει ρχ ασφάλεια διαφανώς σε οποιαδήποτε TCP/IP εφαρμογή. SSL TCP IP 12/31

Οι υπηρεσίες ασφάλειας του SSL Αμοιβαία αυθεντικοποίηση χρησιμοποιώντας κρυπτογραφία δημόσιου κλειδιού Εμπιστευτικότητα των δεδομένων Η σύνδεση κρυπτογραφείται διαφανώς εκτός από την αρχική χειραψία και τον καθορισμό ενός συμμετρικού κλειδιού Προστατεύεται η ακεραιότητα των δεδομένων Τα μηνύματα αυθεντικοποιούνται διαφανώς και ελέγχονται ως προς την ακεραιότητα τους κατά τη μετάδοση με χρήση MACs Σημειώνεται πως δεν παρέχεται ρχ προστασία από επιθέσεις ανάλυσης κυκλοφορίας (traffic analysis attacks) 13/31

SSL, Εφαρμογές και Θύρες Για να χρησιμοποιηθεί το SSL, πρέπει Server και Client να γνωρίζουν ότι η άλλη πλευρά χρησιμοποιεί υπηρεσίες SSL. Έχουν καθοριστεί ξεχωριστοί αριθμοί θυρών για κάθε πρωτόκολλο εφαρμογής με υποστήριξη SSL Keyword Port Description https 443 HTTP με υποστήριξη SSL Ssmtp 465 SMTP με υποστήριξη SSL Snntp (news) 563 NNTP με υποστήριξη SSL sldap 636 LDAP με υποστήριξη SSL spop3 995 POP3 με υποστήριξη SSL 14/31

Τα επιμέρους μρ πρωτόκολλα του SSL Το πρωτόκολλο SSL αποτελείται βασικά από δύο επιμέρους πρωτόκολλα: Το SSL Record πρωτόκολλο, το οποίο παρέχει υπηρεσίες αυθεντικοποίησης, εμπιστευτικότητας και ακεραιότητας δεδομένων, καθώς και προστασία από επιθέσεις επανεκπομπής (anti-replay), σε μια προσανατολισμένη στη σύνδεση αξιόπιστη υπηρεσία μεταφοράς (TCP) Το SSL Handshake πρωτόκολλο που παρέχει υπηρεσίες αυθεντικοποίησης των δύο μερών και ανταλλαγής κλειδιών. Ουσιαστικά διαπραγματεύεται, αρχικοποιεί και συγχρονίζει τις παραμέτρους ασφαλείας στα δύο άκρα της σύνδεσης 15/31

SSL Record πρωτόκολλο Το SSL Record πρωτόκολλο Λαμβάνει δεδομένα από τα πρωτόκολλα υψηλότερων επιπέδων Υλοποιεί κατακερματισμό Εφαρμόζει συμπίεση και στα δεδομένα κρυπτογράφηση Δέχεται ως είσοδο ένα μπλοκ δεδομένων αυθαίρετου μήκους Παράγει ως έξοδο μια σειρά από SSL εγγραφές με μέγιστο μήκος 16.383 bytes η καθεμία Data Fragment Κατάτμηση SSL Plaintext Συμπίεση SSL Compressed SSL CipherText Κρυπτογράφηση 16/31

Η μορφή του SSL Record πρωτοκόλλου Κάθε εγγραφή SSL Record περιέχει τις ακόλουθες πληροφορίες Τύπο περιεχομένου (Content Type). Καθορίζει το πρωτόκολλο υψηλότερου επιπέδου που θα χρησιμοποιηθεί Αριθμό έκδοσης πρωτοκόλλου (v.2/v.3) Μήκος Ωφέλιμο φορτίο δεδομένων (data payload), το οποίο είναι προαιρετικά συμπιεσμένο και κρυπτογραφημένο, σύμφωνα με αυτά που συμφωνήθηκαν κατά τη φάση Handshake Κώδικα αυθεντικοποίησης μηνυμάτων (MAC), ο οποίος προστίθεται πριν κρυπτογραφηθεί το ωφέλιμο φορτίο δεδομένων 17/31

SSL Handshake πρωτόκολλο (1/5) SSL Hand dshake πρωτ τόκολλ λο 1 6 7 8 9 Client Client Hello Certificate Client Key Exch ange Certificate Verify Change Cipher Spec + Finished Server Hello Certificate Certificate Request Server Hello Done Change Cipher Spec + Finished Server 2 3 4 5 10 18/31

SSL Handshake πρωτόκολλο (2/5) Client Hello message Version: Η μεγαλύτερη έκδοση του πρωτοκόλλου που oclient μπορεί να υποστηρίξει Random Number: Ένας 32-bit τυχαίος αριθμός που θα χρησιμοποιηθεί στους κρυπτογραφικούς υπολογισμούς ως σπόρος (seed) και μία τυχαία τιμή 28 bytes δημιουργημένη από έναν PRNG Session ID: Αναγνωρίζει μοναδικά τη συγκεκριμένη SSL σύνοδο (κενό για νέα σύνοδο) Cipher Suites & Compression Methods: Μια λίστα με τις κρυπτογραφικές παραμέτρους ρ και τις μεθόδους συμπίεσης που ο client μπορεί να υποστηρίξει (first choice first) 19/31

SSL Handshake πρωτόκολλο (3/5) Server Hello message Version: Αναγνωρίζει την έκδοση του SSL πρωτοκόλλου που θα χρησιμοποιηθεί Random Number: Ένας 32-bit αριθμός που θα χρησιμοποιηθεί στους κρυπτογραφικούς υπολογισμούς ως σπόρος (seed) και μία τυχαία τιμή 28 bytes δημιουργημένη από έναν PRNG Session ID: Αναγνωρίζει μοναδικά τη συγκεκριμένη SSL σύνοδο, με αναζήτηση στη session cache Cipher Suites & Compression Methods: Οι κρυπτογραφικές παράμετροι και οι μέθοδοι συμπίεσης που θα χρησιμοποιηθούν 20/31

SSL Handshake πρωτόκολλο (4/5) Client key exchange Message Ο client δημιουργεί μια pre-master secret τιμή των 48-bytes Την κρυπτογραφεί με το δημόσιο κλειδί του server (το τελευταίο περιέχεται στο πιστοποιητικό που ο server έστειλε προηγουμένως) Ο server αποκρυπτογραφεί την pre-master secret τιμή χρησιμοποιώντας το ιδιωτικό του κλειδί Τα δύο μέρη θα μετατρέψουν το pre-master secret key σε master secret key υπολογίζοντας μια σειρά από συνόψεις (hashes) χρησιμοποιώντας τόσο το pre-master secret, όσο και τις δύο τυχαίες τιμές που περιέχονται στα δύο hello μηνύματα μ 21/31

SSL Handshake πρωτόκολλο (5/5) Certificate Verify Message Στέλνοντας ο client το δικό του certificate δε σημαίνει αυτόματα ότι αυτός έχει αυθεντικοποιηθεί Πρέπει να αποδείξει ότι κατέχει το ιδιωτικό κλειδί που αντιστοιχεί στο δημόσιο κλειδί που περιέχεται στο certificate t που έστειλε στο server Το μήνυμα περιέχει μία ψηφιακά υπογεγραμμένη σύνοψη (hash) των πληροφοριών που είναι διαθέσιμες και στα δύο μέρη (key info + messages contents) 22/31

Δημιουργία Ομάδας Κλειδιών (1/3) Στις φάσεις ClientHello και ServerHello του SSL Handshake protocol δημιουργούνται δύο τυχαία 28 bytes από PRNG (ClientHello.random και ServerHello.random) Στη φάση ClientKeyExchange o client δημιουργεί με τυχαίο τρόπο ένα pre-master secret key 48 bytes Το pre-master secret key στέλνεται από τον client στον Server, κρυπτογραφημένο με το δημόσιο-κλειδί του Server 23/31

Δημιουργία Ομάδας Κλειδιών (2/3) Το master-secret t key 48 bytes (3*128bits) δημιουργείται στον εξυπηρετούμενο και στον εξυπηρέτη ως εξής: master-secret key = MD5(pre-master secret key + SHA('A' + pre-master secret key + ClientHello.random + ServerHello.random)) random)) + MD5(pre-master secret key + SHA('BB' + pre-master secret key + ClientHello.random + ServerHello.random)) + MD5(pre-master secret key + SHA('CCC' + pre-master secret key + ClientHello.random + ServerHello.random)) Τα απαιτούμενα κλειδιά για τις κρυπτογραφικές διαδικασίες προκύπτουν ως εξής: key-block = MD5(master-secret key + SHA('A' + master secret key + ServerHello.random + ClientHello.random)) + MD5(master-secret key + SHA('BB' + master secret key + ServerHello.random + ClientHello.random)) + MD5(master-secret key + SHA('CCC' + master secret key + ServerHello.random + ClientHello.random)) + 24/31

Δημιουργία Ομάδας Κλειδιών (3/3) Η ομάδακλειδιών, δ που τελικά χρησιμοποιείται, είναι: client_write_mac_secret key server_write_mac_secret key client_write_key OR final_client_write_key = MD5(client_write_key + ClientHello.random + ServerHello.random) server_write_key OR final_server_write_key = MD5(server_write_key + ServerHello.random + ClientHello.random) Το MAC παράγεται από την HMAC(M) = h 1 (K(EXOR)opad(=64times 0x5C), h 2 (K(EXOR)ipad(=64 times 0x36), M)) 25/31

Επανάληψη μιας Προηγούμενης SSL Συνόδου (1/2) Client Server 1 Client Hello Server Hello 2 Change Cipher Spec +Fi Finishedi 3 4 Change Cipher Spec + Finished 26/31

Επανάληψη μιας προηγούμενης SSL συνόδου (2/2) Τα δύο Hello μηνύματα δηλώνουν αν η σύνοδος μπορεί να επαναληφθεί (η τελική απόφαση είναι του server) Αν ο client επιθυμεί να χρησιμοποιήσει τις παραμέτρους ασφαλείας μιας προηγουμένης συνόδου Τοποθετεί το session ID εκείνης είνηςτης συνόδου, στο δικό του Hello Message Αν ο server συμφωνεί και έχει αποθηκευμένες (cashed) τις παραμέτρους αυτής της σύνδεσης, Επιστρέφει το ίδιο session ID στο δικό του Hello. Σε διαφορετική περίπτωση δημιουργεί ένα νέο (fresh) 27/31

Διαφορές μεταξύ SSL v.3.0 και TLS v.1.0 SSL v.3.0 Protocol version in messages 3.0 3.1 TLS v.1.0 Alert protocol message types 12 23 Message authentication ad hoc Standard Key material generation ad hoc PRF CertificateVerify Complex Simple Finished ad hoc PRF Baseline cipher suites Includes Fortezza No Fortezza PRF = Pseudo Random Function 28/31

Σύνοψη Το πρωτόκολλο SSL μπορεί να χρησιμοποιηθεί διαφανώς για την εγκαθίδρυση ασφαλών συνδέσεων μεταξύ εξυπηρετούμενων και εξυπηρετών Αυθεντικοποιεί πάντοτε τον εξυπηρέτη και προαιρετικά τον εξυπηρετούμενο Εκτελεί ανταλλαγή κλειδιών και παρέχει αυθεντικοποίηση μηνυμάτων Παρέχει υπηρεσίες εμπιστευτικότητας και ακεραιότητας δεδομένων για αυθαίρετες TCP/IP εφαρμογές 29/31

Ερωτήσεις Πρωτόκολλα Ασφαλείας Επιπέδου Μεταφοράς (SSH, SSL) 30/31