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

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

1. Κατεβάστε και εγκαταστήσετε το openssl από τη διεύθυνση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασφάλεια Στο Ηλεκτρονικό Εμπόριο. Λάζος Αλέξανδρος Α.Μ. 3530

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

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

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

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

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

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

Οδηγίες Εγκατάστασης και Χρήσης Ψηφιακών Πιστοποιητικών

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

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

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

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

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

Τεχνική Ανάλυση των η-υπογραφών & των η-πιστοποιητικών

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

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

Β. Μάγκλαρης 30/11/2015

ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15

ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΠΙΣΤΟΠΟΙΗΤΙΚΟΥ ΑΣΦΑΛΕΙΑΣ WEBMAIL ΤΕΙ ΚΑΛΑΜΑΤΑΣ

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

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

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

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

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

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

Εισαγωγή στην Πληροφορική

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC

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

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

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

CVE the SSL Heartbleed bug. SSL Renegotiation Attack

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Τεχνολογία Ηλεκτρονικού Εμπορίου. 9η διάλεξη: Ασφάλεια ιαδικτυακών Συναλλαγών και Ηλεκτρονικού Εμπορίου II (EC Security II) Χρήστος Γεωργιάδης

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

Προδιαγραφή και Επαλήθευση Πρωτοκόλλων Ασφαλείας Συστημάτων Κινητών Επικοινωνιών με Χρήση Τυπικών Μεθόδων

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

EPL475:Εργαστήριο 4, openssl Assymmetric Encryption

Ασφάλεια (PGP)

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

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

Οδηγός ανάγνωσης αποστολής

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

Ενεργοποίηση SSL στο ελληνικό Outlook Express 6

ΠΡΟΣ: Κάθε ενδιαφερόμενο. Θεσσαλονίκη, 18 /11/2016

ΗΜΕΡΟΛΟΓΙΟ ΓΛΩΣΣΑΡΙ ΔΙΑΔΙΚΤΥΟΥ

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

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

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

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

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

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

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

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

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

Δημιουργία οδηγού για την ασφαλή διακίνηση ηλεκτρονικού ταχυδρομείου και εγγράφων

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

Web Services Security. Μέρος ΙΙ

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

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

Network Address Translation (NAT)

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

Transcript:

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής Ε Ρ ΓΑ Σ Τ Ή Ρ Ι Ο 8 Α Σ Φ Ά Λ Ε Ι Α Σ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Ώ Ν Σ Υ Σ Τ Η Μ ΆΤ Ω Ν OpenSSL 12/1/2017 1

SSL-(SECURE SOCKETS LAYER) Το πρωτόκολλο SSL (Secure Sockets Layer) αναπτύχθηκε από την εταιρεία Netscape και σχεδιάστηκε για να παρέχει ασφάλεια κατά την μετάδοση ευαίσθητων δεδομένων στο διαδίκτυο. Η έκδοση 3.0 του πρωτοκόλλου κυκλοφόρησε από την Netscape το 1996 και αποτέλεσε την βάση για την μετέπειτα ανάπτυξη του πρωτοκόλλου TLS (Transport Layer Security), το οποίο πλέον τείνει να αντικαταστήσει το SSL. Τα δύο αυτά πρωτόκολλα χρησιμοποιούνται ευρέως για ηλεκτρονικές αγορές και χρηματικές συναλλαγές μέσω του διαδικτύου. Πρόκειται για ένα πρωτόκολλο το οποίο παρέχει ένα ασφαλές κανάλι επικοινωνίας μεταξύ ενός πελάτη και ενός διακομιστή για την ανταλλαγή πληροφοριών μέσω Internet. Το SSL/TLS είναι ένα υβριδικό πρωτόκολλο. Χρησιμοποιεί κρυπτογραφία δημοσίου κλειδιού για την αυθεντικοποίηση και την δημιουργία των κλειδιών ενώ για να εγγυηθεί την εμπιστευτικότητα του κύριου όγκου της μεταδιδόμενης πληροφορίας χρησιμοποιεί συμμετρικούς αλγορίθμους. Για την ακεραιότητα των μηνυμάτων χρησιμοποιούνται κώδικες MAC (Message Authentication Code) Το SSL/TLS με τους μηχανισμούς που χρησιμοποιεί μπορεί να παρέχει Εμπιστευτικότητα Ακεραιότητα Αυθεντικοποίηση διακομιστή, και Προαιρετικά, αυθεντικοποίηση πελάτη. Το βασικό του πλεονέκτημα είναι ότι είναι ανεξάρτητο από τα πρωτόκολλα του επιπέδου εφαρμογής Μια ιστοσελίδα μπορεί να έχει δημόσια και προστατευμένα τμήματα. Όταν κάποιος χρήστης/πελάτης επισκέπτεται μια τέτοια ιστοσελίδα και θέλει να έχει πρόσβαση στα προστατευμένα/ασφαλή τμήματα της ιστοσελίδας ο διακομιστής θα ξεκινήσει τη διαδικασία χρήσης του SSL για να προστατεύσει αυτά τα τμήματα της προστατευμένης ιστοσελίδας.

SSL-(SECURE SOCKETS LAYER) Το SSL διατηρεί το κανάλι επικοινωνίας ανοιχτό μέχρι μια από τις δύο οντότητες να αιτηθεί τερματισμό της επικοινωνίας. Αυτό που γίνεται συνήθως είναι ο πελάτης να επισκεφτεί κάποια άλλη ιστοσελίδα ή να κλείσει το παράθυρο του browser. Σε μια τέτοια περίπτωση η σύνοδος τερματίζεται. Το SSL απαιτεί τόσο ο server όσο και ο browser του πελάτη να το υποστηρίζουν. Παρέχει ασφάλεια για την επικοινωνία αλλά δε προστατεύει τα δεδομένα από τη στιγμή που θα ληφθούν και μετά. Ο χρήστης μπορεί να επαληθεύσει μια προστατευμένη από το SSL επικοινωνία εξετάζοντας το URL το οποίο θα πρέπει να ξεκινά με την ακολουθία https:// αντί του http://. Ένας άλλος τρόπος είναι από την ύπαρξη κλειδαριάς ή ενός κλειδιού στον browser τα οποία υποδηλώνουν την προστασία των δεδομένων. Αποτελείται από δύο υποπρωτόκολλα: Πρωτόκολλο χειραψίας (Handshake Protocol) Πρωτόκολλο εγγραφής (Record Protocol)

ΔΟΜΉ ΤΟΥ SSL/TLS Το Handshake Protocol, όπως μαρτυρά και το όνομά του, είναι ένα πρωτόκολλο «χειραψίας» που χρησιμοποιείται για την συμφωνία/αρχικοποίηση όλων των ρυθμίσεων (κλειδιών, αλγορίθμων κλπ.) που είναι απαραίτητες για την επικοινωνία των δύο κόμβων (client/server) που θέλουν να επικοινωνήσουν με ασφάλεια μέσω του SSL. Αυτό που προκύπτει μετά το πέρας της παραπάνω διαδικασία είναι η εγκατάσταση ενός SSL Session. Το Record Protocol, από την άλλη, είναι υπεύθυνο για τη σύνδεση των κόμβων (SSL Connection) και χρησιμοποιείται για την μετάδοση του κύριου όγκου των δεδομένων και περιλαμβάνει όλους τους μηχανισμούς κατακερματισμού, κρυπτο-γράφησης και ελέγχου της ακεραιότητας της πληροφορίας.

ΔΟΜΉ ΤΟΥ SSL/TLS SSL Handshake Protocol 1. Αρχικά ο client στέλνει στον server την έκδοση του SSL που χρησιμοποιεί, τους επιθυμητούς αλγορίθμους κρυπτογράφησης και μερικά δεδομένα που έχουν παραχθεί τυχαία (τυχαίο 32- byte αριθμό καθώς και ένα session-id). 2. Ο server απαντά στέλνοντας παρόμοιες πληροφορίες συμπεριλαμβανομένου του αλγόριθμου κρυπτογράφησης που επέλεξε (από αυτά που «πρότεινε» ο client αρχικά) καθώς και του ψηφιακού πιστοποιητικού του, το οποίο τον πιστοποιεί στον client.προαιρετικά μπορεί να ζητήσει και το ψηφιακό πιστοποιητικό του client. 3. Ο client λαμβάνει το ψηφιακό πιστοποιητικό του server και το χρησιμοποιεί για να τον πιστοποιήσει. 4. Ο client δημιουργεί το συμμετρικό κλειδί που θα χρησιμοποιηθεί στον αλγόριθμο κρυπτογράφησης και το στέλνει στον server κρυπτογραφημένο, χρησιμοποιώντας την τεχνική κρυπτογράφησης δημοσίου κλειδιού. 5. Ο client στέλνει ένα μήνυμα στον server ενημερώνοντάς τον ότι είναι έτοιμος να ξεκινήσει την κρυπτογραφημένη σύνδεση. 6. Ο server στέλνει ένα μήνυμα στον client ενημερώνοντάς τον ότι και αυτός είναι έτοιμος να ξεκινήσει την κρυπτογραφημένη σύνδεση. 7. Από εδώ και πέρα η χειραψία έχει ολοκληρωθεί και τα μηνύματα που ανταλλάσσουν τα δύο μηχανήματα (client - server) είναι κρυπτογραφημένα.

ΔΟΜΉ ΤΟΥ SSL/TLS SSL Record Protocol Το συγκεκριμένο υπο-πρωτόκολλο παρέχει ασφαλή σύνδεση και, κατ επέκταση, επικοινωνία με δύο βασικά χαρακτηριστικά: Η σύνδεση είναι εμπιστευτική Χρησιμοποιούνται συμμετρικοί αλγόριθμοι για την κρυπτογράφηση των δεδομένων. Τα κλειδιά αυτής της συμμετρικής κρυπτογράφησης είναι μοναδικά για κάθε σύνδεση. Σημείωση: Το Record Protocol μπορεί να λειτουργήσει και χωρίς κρυπτογράφηση. Η σύνδεση είναι αξιόπιστη. Η μεταφορά των μηνυμάτων περιλαμβάνει μηχανισμούς ελέγχου της ακεραιότητας τους και συγκεκριμένα συναρτήσεις MAC με κλειδιά (keyed MACs). Ασφαλείς συναρτήσεις Κατακερματισμού (MD5, SHA κλπ.) χρησιμοποιούνται για τον υπολογισμό των MACs. Σημείωση: Το Record Protocol μπορεί να λειτουργήσει και χωρίς MACs.

ΔΟΜΉ ΤΟΥ SSL/TLS

ΔΟΜΉ ΤΟΥ SSL/TLS

ΔΟΜΉ ΤΟΥ SSL/TLS Εδώ θα πρέπει να τονιστεί η διαφορά μεταξύ των SSL Session και SSL Connection. Το πρώτο εγκαθίσταται στην αρχή της επικοινωνίας δύο κόμβων μέσω του Handshake Protocol και αφορά τα κρυπτογραφικά χαρακτηριστικά της ασφαλούς επικοινωνίας που θα ακολουθήσει. Με το session που δημιουργείται, αποφεύγεται η συνεχής επανάληψη αυτών των σύνθετων και υπολογιστικά «ακριβών» διαδικασιών. Το SSL Connection, από την άλλη, αφορά τη μεταφορά των δεδομένων και είναι άμεσα εξαρτώμενο από ένα SSL Session. Μεταξύ ενός client κι ενός server μπορεί να υπάρχουν πολλαπλά SSL Connections αλλά συνήθως μόνο ένα SSL Session.

SSL-(SECURE SOCKETS LAYER) Ο χρήστης μπορεί να επαληθεύσει μια προστατευμένη από το SSL επικοινωνία εξετάζοντας το URL το οποίο θα πρέπει να ξεκινά με την ακολουθία https:// αντί του http://. Ένας άλλος τρόπος είναι από την ύπαρξη κλειδαριάς ή ενός κλειδιού στον browser τα οποία υποδηλώνουν την προστασία των δεδομένων.

SSL-(SECURE SOCKETS LAYER) Η μετάδοση πληροφοριών μέσω του διαδικτύου γίνεται ως επί το πλείστον χρησιμοποιώντας τα πρωτόκολλα TCP/IP (Transfer Control Protocol / Internet Protocol). Το SSL λειτουργεί πριν το TCP/IP και μετά τις εφαρμογές υψηλού επιπέδου, όπως είναι για παράδειγμα το HTTP (προβολή ιστοσελίδων), το FTP (μεταφορά αρχείων) και το IMAP (email). Άρα λοιπόν αυτό που ουσιαστικά κάνει το SSL είναι να παίρνει τις πληροφορίες από τις εφαρμογές υψηλότερων επιπέδων, να τις κρυπτογραφεί και στην συνέχεια να τις μεταδίδει στο Internet προς τον Η/Υ που βρίσκεται στην απέναντι πλευρά και τις ζήτησε.

Ασφάλεια Το SSL/TLS είναι από τα πιο πετυχημένα και διαδεδομένα πρωτόκολλα ασφαλείας σήμερα. Θα πρέπει να είναι ήδη καθαρό ότι η χρήση του αφορά καθαρά την ασφάλεια κατά τη μετάδοση. Συγκεκριμένα, το μοντέλο που χρησιμοποιήθηκε κατά την ανάπτυξη του πρωτοκόλλου ήταν αυτό της ασφαλούς μετάδοσης αριθμών πιστωτικών καρτών Μέσω του Internet. Το πρωτόκολλο θεωρείται εξαιρετικά ασφαλές όσο αφορά εμπιστευτικότητα και την ακεραιότητα των μηνυμάτων. Από την άλλη, το SSL/TLS δεν μπορεί να προσφέρει μηαποποίηση για τα μηνύματα αυτά ενώ δεν προσφέρει και καμία εγγύηση για το τι γίνεται στον server με τα δεδομένα αυτά.

Ασφάλεια Ο αριθμός της πιστωτικής μας κάρτας προστατεύεται από το SSL κατά την μετάδοση αλλά αν το ηλεκτρονικό κατάστημα που επιλέξαμε αποθηκεύει στη συνέχεια τους αριθμούς των πιστωτικών αυτών σε μία μη ασφαλή βάση δεδομένων αυτό δεν είναι πρόβλημα που μπορεί να αντιμετωπίσει το SSL ούτε, φυσικά, οφείλεται σε αυτό. Ένα ακόμα σημείο που χρήζει προσοχής είναι αυτό της αυθεντικοποίησης των κόμβων και ειδικότερα αυτό της αξιολόγησης των πιστοποιητικών. Στην περίπτωση που ένα πιστοποιητικό έχει λήξει ή φαίνεται ύποπτο (π.χ. έχει εκδοθεί για διαφορετικό URL από αυτό του server που το παρουσίασε), ο browser που βρίσκεται εγκατεστημένος στον κόμβο-client εμφανίζει ένα μήνυμα προειδοποίησης στον χρήστη.

Ασφάλεια

Ασφάλεια

Ασφάλεια Ο χρήστης έχει την επιλογή, παρά την προειδοποίηση, να προχωρήσει με την αρχικοποίηση της ασφαλούς επικοινωνίας με τον «ύποπτο» server. Το SSL δεν μπορεί να βοηθήσει σε αυτή την περίπτωση και η τελική επιλογή ανήκει στον χρήστη ο οποίος μπορεί να μη διαθέτει τις γνώσεις για να πάρει τη σωστή απόφαση. Άρα, ο χρήστης ενδέχεται να επιλέξει να μεταδώσει σημαντικές πληροφορίες σε κάποιο server που ανήκει σε κακόβουλους χρήστες (π.χ. phishing). Άλλες απειλές για την ασφάλεια της επικοινωνίας μέσω SSL/TLS είναι οι επιθέσεις Man- In-The-Middle, επιθέσεις που περιλαμβάνουν την ανάλυση της κίνησης των δεδομένων (traffic analysis), επιθέσεις χρονισμού (timing attacks), επιθέσεις όπου ο browser αναγκάζεται να χρησιμοποιήσει λιγότερο ασφαλείς αλγορίθμους ή αδύναμα κλειδιά κ.α.

Ασφάλεια Τέλος, πέρα από τα ζητήματα ασφαλείας,υπάρχει και το πρόβλημα της ταχύτητας. Η επικοινωνία είναι πιο αργή σε σχέση με την ταχύτητα που έχει το ίδιο πρωτόκολλο/εφαρμογή χωρίς χρήση SSL. Η καθυστέρηση οφείλεται κυρίως στο Handshake Protocol.

OpenSSL Το project OpenSSL είναι μια συλλογική προσπάθεια για την υλοποίηση ενός εργαλείου ανοικτού κώδικα που να υλοποιεί τα πρωτόκολλα secure Sockets Layer (SSL v2/3) και Transport Layer Security (TLS v1) καθώς και μια πλήρους κρυπτογραφικής βιβλιοθήκης γενικής χρήσης. Βασίζεται στη βιβλιοθήκη SSLeay που δημιουργήθηκε από τους Eric A. Young και Tim J. Hudson. ). Έχει υλοποιηθεί από το OpenSSL Project και το συγκεκριμένο download είναι η έκδοση για Windows από την Shining Light Productions.

Βασικές Υπηρεσίες που παρέχει το OpenSSl Πέρα από τις βιβλιοθήκες για τα πρωτοκολλά και το σχετικό API το OpenSSL παρέχει εργαλείο γραμμής εντολών για την εκτέλεση των συναρτήσεων της κρυπτόβιβλιοθήκης από ένα φλοιό. Δημιουργία παραμέτρων κλειδιών για RSA,DH και DSA Δημιουργία πιστοποιητικών X.509 και λίστα ανάκλησης πιστοποιητικών (CRLs) Υπολογισμός αποτελεσμάτων συναρτήσεων κατακερματισμού Κρυπτογράφηση και αποκρυπτογράφηση Έλεγχος εφαρμογών SSL /TLS Διαχείριση υπογεγραμμένων ή κρυπτογραφημένων αρχείων ηλεκτρονικού ταχυδρομείου βασισμένου στο πρότυπό S/MIME.

Μορφές αρχείων εισόδου /εξόδου PEM (Privacy Enhanced Mail ) File format Καθορίζεται στα RFC 1421,1422,1423 και 1424. Μπορεί να περιέχει ιδιωτικά κλειδιά δημοσία κλειδιά και πιστοποιητικά. Είναι η προκαθορισμένη μορφή για το openssl. Περιέχει δυαδικά δεδομένα στα οποία έχει εφαρμοστεί κωδικοποίηση base64 και επικεφαλίδες ASCII. Διαβάζεται κανονικά σαν κείμενο. DER (Distinguished Encoding Rules) format Βασίζεται στους κανόνες κωδικοποίησης ASN.1 σύμφωνα με τα πρότυπα Specification of basic Encoding Rules (DER) ITU-T Rec X.690 (1197) ISO/IEC 8825-1:1998. Μπορεί να περιέχει ιδιωτικά κλειδιά και δημόσια και πιστοποιητικά Δεν έχει επικεφαλίδες επί της ουσίας η μορφή PEM είναι επικεφαλίδες γύρω από base64 encoded DER δεδομένα.

Οδηγίες εγκατάστασης openssl Κατεβάστε και εγκαταστήσετε το openssl από τη διεύθυνση http://www.shininglightpro.com/products/win32openssl.html Αφού εγκαταστήσετε όλα τα απαραίτητα αρχεία κατεβάστε από το eclass από το φάκελο, το αρχείο CAcnf.txt και βαλτέ το μέσα στο φάκελο C:/openssl/bin Φτιάξετε επίσης μέσα στο φάκελο bin τους απαραιτήτους φακέλους που χρησιμοποιούνται στα path των αρχείων για παράδειγμα για τα επόμενα σενάρια εντολών δημιουργήστε ένα φάκελο με το όνομα private. Επίσης αντιγράψετε από το path C:\OpenSSL\bin\PEM\demoCA το αρχείο index.txt μέσα στο bin Χρησιμοποιώντας το cmd. Πηγαίνετε στο φάκελο bin του openssl και από εκεί μπορείτε να εκτελέσετε τις παρακάτω εντολές

ΠΑΡΑΔΕΊΓΜΑΤΑ ΕΝΤΟΛΏΝ Σενάριο 1 --> Δημιουργία rsa κλειδιού και Πιστοποιητικού Αρχή Πιστοποίησης Δημιουργία ιδιωτικού κλειδιού και αυτό-υπογεγραμμένο πιστοποιητικού για αρχή πιστοποίησης με RSA και md5 openssl req -new -x509 -keyout private/cakey.pem -out private/cacert.pem -days 365 - config CAcnf.txt -md5 Επισκόπηση πιστοποιητικού αρχής πιστοποίησης openssl x509 in private/cacert.pem text Μετατροπή πιστοποιητικού αρχής πιστοποίησης από pem σε der openssl x509 in private/cacert.pem outform DER -out private/cacert.cer

ΠΑΡΑΔΕΊΓΜΑΤΑ ΕΝΤΟΛΏΝ Σενάριο 2 Δημιουργία rsa κλειδιού και Πιστοποιητικού χρήστη Δημιουργία ιδιωτικού κλειδιού και αυτό-υπογεγραμμένο πιστοποιητικού για αρχή πιστοποίησης με RSA και md5 openssl req -new -x509 -keyout private/testprivatekey.pem -out private/testselfcert.pem - days 365 newkey rsa:1024 -config CAcnf.txt -md5 Επισκόπηση πιστοποιητικού αρχής πιστοποίησης openssl x509 in private/testselfcert.pem text Μετατροπή πιστοποιητικού αρχής πιστοποίησης από pem σε der openssl x509 in private/testselfcert.pem outform DER -out private/testselfcert.cer

ΠΑΡΑΔΕΊΓΜΑΤΑ ΕΝΤΟΛΏΝ Σενάριο 3 Δημιουργία και επαλήθευση υπογραφής με SHA1 και RSA Δημιουργία σύνοψής ενός αρχείου με συνάρτηση κατακερματισμού sha1 οpenssl sha1 out private/digest.txt plain.txt οpenssl sha1 plain.txt Δημιουργία σύνοψής ενός αρχείου με συνάρτηση κατακερματισμού md5 οpenssl md5 out private/digest.txt plain.txt οpenssl md5 plain.txt Δημιουργία ψηφιακής υπογραφής με sha1 και RSA openssl dgst -sha1 sign private/testprivatekey.pem out private/rsasignature.bin plain.txt Λήψη δημόσιου κλειδιού από το ιδιωτικό openssl rsa -in private/testprivatekey.pem pubout -out private/testpublickey.pem Επαλήθευση ψηφιακής υπογραφής openssl dgst -sha1 verify private/testpublickey.pem signature private/rsasignature.bin plain.txt

ΠΑΡΑΔΕΊΓΜΑΤΑ ΕΝΤΟΛΏΝ Σενάριο 4 Λίστες Ανάκλησης Πιστοποιητικών CRL Δημιουργία Λίστα Ανάκλησης openssl ca gencrl -out private/crl1.pem config CAcnf.txt Επισκόπηση λίστας openssl crl -in private/crl1.pem text Ανάκληση πιστοποιητικού openssl ca -gencrl -revoke private/testselfcert.pem -config CAcnf.txt Μετατροπή λίστας σε der μορφή openssl crl -in private/crl1.pem outform der -out private/crl1.crl