ΣΕΜΙΝΑΡΙΟ Θεµα : Τι είναι το SSL και πως χρησιµοποιείται. Τι χρειάζεται για να στηθεί ένα SSL. Οµάδα : Παναγιώτης Καλύβας Καρανίκας Γιώργος Μιχάλης Λιβάνιος ΠΑΡΟΥΣΙΑΣΗ 19/5/11 Αµφιθέατρο
Εισαγωγή Τι είναι το SSL? SSL : Secure Sockets Layer Είναι ένα κρυπτογραφικό πρωτόκολλο που παρέχει ασφαλή επικοινωνία και µεταφορά δεδοµένων στο διαδίκτυο χρησιµοποιώντας τεχνικές κρυπτογράφησης και αποκρυπτογράφησης αυτών. Αναπτύχθηκε από την εταιρεία Netscape και σχεδιάστηκε για να παρέχει ασφάλεια κατά την µετάδοση ευαίσθητων δεδοµένων στο διαδίκτυο. Kυκλοφόρησε από την Netscape το 1996 Aποτέλεσε την βάση για την µετέπειτα ανάπτυξη του πρωτοκόλλου TLS (Transport Layer Security), το οποίο πλέον τείνει να αντικαταστήσει το SSL.
(Συνέχεια ) Xρησιµοποιείται ευρέως για ηλεκτρονικές αγορές και χρηµατικές συναλλαγές µέσω του διαδικτύου. Το SSL είναι διαδεδοµένο στο διαδίκτυο και έχει µελετηθεί και αναλυθεί εκτενώς για την βελτιστοποίηση της ασφάλειας µε αποτέλεσµα να είναι το πιο αποτελεσµατικό και ασφαλές πρωτόκολλο στο κόσµο, αυτή τη στιγµή. Τέλος, εξασφαλίζει την ακεραιότητα των δεδοµένων, ώστε κανείς να µην µπορεί να αλλοιώσει την πληροφορία χωρίς να γίνει αντιληπτός. Όλα τα παραπάνω γίνονται µε τρόπο διαφανές και απλό. Για αυτούς τους παραπάνω λόγους το SSL είναι η πιο καλή επιλογή σε µηχανισµό authentication και key exchange.
SSL + HARDWARE SSL Acceleration Χρησιµοποιώντας ειδικές κάρτες pci µε micro-επεξεργαστές µπορεί και κάνει όλες τις διεργασίες που απαιτούνται στο SSL µειώνοντας έτσι τον φόρτο εργασίας των servers για κρυπτογράφηση και αποκρυπτογράφηση.
(Συνέχεια ) Η µετάδοση πληροφοριών µέσω του διαδικτύου γίνεται ως επί το πλείστον χρησιµοποιώντας τα πρωτόκολλα TCP/IP (Transfer Control Protocol / Internet Protocol). Το SSL λειτουργεί πριν το TCP/IP και µετά τις εφαρµογές υψηλού επιπέδου, όπως είναι για παράδειγµα το HTTP (προβολή ιστοσελίδων), το FTP (µεταφορά αρχείων) και το IMAP (email). Άρα λοιπόν αυτό που ουσιαστικά κάνει το SSL είναι να παίρνει τις πληροφορίες από τις εφαρµογές υψηλότερων επιπέδων, να τις κρυπτογραφεί και στην συνέχεια να τις µεταδίδει στο Internet προς τον Η/Υ που βρίσκεται στην απέναντι πλευρά και τις ζήτησε.
Λειτουργία Το SSL προσφέρει συνοπτικά τις ακόλουθες υπηρεσίες: Πιστοποίηση του server από τον client. Πιστοποίηση του client από τον server. Εγκαθίδρυση ασφαλούς κρυπτογραφηµένου διαύλου επικοινωνίας µεταξύ των δύο µερών. Αλγόριθµοι κρυπτογράφησης που υποστηρίζει το SSL: DES - Data Encryption Standard DSA - Digital Signature Algorithm KEA - Key Exchange Algorithm MD5 - Message Digest, RC2/RC4, RSA, SHA-1 - Secure Hash Algorithm, SKIPJACK, Triple-DES.
Τρόπος λειτουργίας ιαδικασία Πιστοποίησης 2 Φάσεις: Πιστοποίηση Πελάτη Πιστοποίηση ιακοµιστή Με τη µέθοδο Χειραψίας
(Συνέχεια ) H διαδικασία χειραψίας : Αρχικά ο client στέλνει στον server την έκδοση του SSL που χρησιµοποιεί, τον επιθυµητό αλγόριθµο κρυπτογράφησης, µερικά δεδοµένα που έχουν παραχθεί τυχαία και οποιαδήποτε άλλη πληροφορία χρειάζεται ο server για να ξεκινήσει µία σύνδεση SSL. Ο server απαντά στέλνοντας παρόµοιες πληροφορίες συµπεριλαµβανοµένου όµως και του ψηφιακού πιστοποιητικού του, το οποίο τον πιστοποιεί στον client. Προαιρετικά µπορεί να ζητήσει και το ψηφιακό πιστοποιητικό του client. Ο client λαµβάνει το ψηφιακό πιστοποιητικό του server και το χρησιµοποιεί για να τον πιστοποιήσει. Εάν η πιστοποίηση αυτή δεν καταστεί δυνατή, τότε ο χρήστης ενηµερώνεται µε ένα µήνυµα σφάλµατος και η σύνδεση SSL ακυρώνεται. Εάν η πιστοποίηση του server γίνει χωρίς προβλήµατα, τότε η διαδικασία της χειραψίας συνεχίζεται στο επόµενο βήµα.
(Συνέχεια ) Ο client συνεργάζεται µε τον server και αποφασίζουν τον αλγόριθµο κρυπτογράφησης που θα χρησιµοποιηθεί στην ασφαλή σύνδεση SSL. Επίσης ο client δηµιουργεί το συµµετρικό κλειδί που θα χρησιµοποιηθεί στον αλγόριθµο κρυπτογράφησης και το στέλνει στον server κρυπτογραφηµένο, χρησιµοποιώντας την τεχνική κρυπτογράφησης δηµοσίου κλειδιού. Χρησιµοποιεί το δηµόσιο κλειδί του server που αναγράφεται πάνω στο ψηφιακό του πιστοποιητικό για να κρυπτογραφήσει το συµµετρικό κλειδί και να του το στείλει. Στην συνέχεια ο server χρησιµοποιώντας το ιδιωτικό του κλειδί µπορεί να αποκρυπτογραφήσει το µήνυµα και να αποκτήσει το συµµετρικό κλειδί που θα χρησιµοποιηθεί για την σύνδεση.
(Συνέχεια ) Ο client στέλνει ένα µήνυµα στον server ενηµερώνοντάς τον ότι είναι έτοιµος να ξεκινήσει την κρυπτογραφηµένη σύνδεση. Ο server στέλνει ένα µήνυµα στον client ενηµερώνοντάς τον ότι και αυτός είναι έτοιµος να ξεκινήσει την κρυπτογραφηµένη σύνδεση. Από εδώ και πέρα η χειραψία έχει ολοκληρωθεί και τα µηνύµατα που ανταλλάσσουν τα δύο µηχανήµατα (client - server) είναι κρυπτογραφηµένα.
Παράδειγµα χρήσης του SSL ΨΗΦΙΑΚΟ ΠΙΣΤΟΠΟΙΗΤΙΚO ΑΣΦΑΛΕΙΑΣ ΓΙΑ ΕΞΑΣΦΑΛΙΣΗ ΚΡΥΠΤΟΓΡΑΦΗΜΕΝΗΣ ΠΡΟΣΒΑΣΗΣ ΕΠΙΣΚΕΠΤΩΝ ΜΙΑΣ ΙΣΤΟΣΕΛΙ ΑΣ Το SSL δίνει τη δυνατότητα: Να βελτιώσετε την παρουσία της ιστοσελίδας σας. Να βελτιώσετε τα επίπεδα ασφάλειας στην ιστοσελίδα σας: Ασφαλές καλάθι αγορών Ικανότητα αποδοχής πληρωµών πιστωτικών καρτών σε πραγµατικό χρόνο Να αυξήσετε την εµπιστοσύνη των επισκεπτών σας, για να πραγµατοποιήσουν ηλεκτρονικές συναλλαγές και κάθε είδους ηλεκτρονική επικοινωνία µέσα από τον δικτυακό σας τόπο.
(Συνέχεια ) Τι χρειάζεται για να λειτουργήσει; Αγορά µοναδικού πιστοποιητικού ασφαλείας από κάποια Αρχή Πιστοποίησης που το παρέχει(απευθείας αγορά από µία ΑΠ ή µέσω web hosting provider): Θα χρειαστεί απόδειξη την ταυτότητας της εταιρίας (ή ιδιώτη), και πληρωµή σε µια ΑΠ(π.χ VeriSign). Η ΑΠ επαληθεύει το αίτηµα πιστοποιητικού και την ταυτότητά σας, και µετά σας στέλνει ένα πιστοποιητικό για τον ασφαλή διακοµιστή σας(web robot crawler). Εναλλακτικά, µπορείτε να δηµιουργήσετε το δικό σας υπογεγραµµένο από εσάς πιστοποιητικό. Ένα πιστοποιητικό υπογεγραµµένο από ΑΠ παρέχει δύο σηµαντικές δυνατότητες που ένα πιστοποιητικό υπογεγραµµένο από εσάς δεν παρέχει: Οι φυλλοµετρητές (συνήθως) αναγνωρίζουν αυτόµατα το πιστοποιητικό και επιτρέπουν µια ασφαλή σύνδεση να δηµιουργηθεί χωρίς να ενηµερώσει το χρήστη ότι η σελίδα είναι κρυπτογραφηµένη. (π.χ teilam-email user agent). Εγγυάται (ανάλογα το πακέτο) την ταυτότητα του οργανισµού.(πρόσφατη περίπτωση SONY)
(συνέχεια) Κόστος(ενδεικτικές τιµές): SSL Domain Validation ->30Ε/έτος (κατάλληλο για online επιχειρήσεις που χρειάζονται ένα χαµηλού κόστους SSL, άµεσα, χωρίς την υποβολή εταιρικών εγγράφων για την πιστοποίηση και εγγύηση 10000Ε) Organization Validation->140 Ε/έτος(πιστοποίηση και του domain και του email της εταιρίας, εγγύηση 100000Ε) Extended Validation ->220E/έτος (πιστοποίηση γίνεται µετά από υψηλό έλεγχο της σελίδας +τα παραπάνω πακέτα+και για subdomains, εγγύηση 150000+Ε)
(Συνέχεια )
(Συνέχεια)
(Συνέχεια ) Ρύθµιση του server που φιλοξενεί την ιστοσελίδα µας έτσι ώστε η πρόσβαση σε αυτήν να γίνεται µε https. (αρκεί να το υποστηρίζει ο server οποιοσδήποτε windows/linux server) Μεταφορά όλων των αρχείων του ιστοχώρου στο φάκελο https (αντί του http) αν πρόκειται για κρυπτογράφηση όλων των σελίδων Ή ρύθµιση για κάποιες σελίδες του site οι οποίες θα προστατεύονται οι συναλλαγές µε SSL/https µέσω του CMS που χρησιµοποιούµε(θα πρέπει να το υποστηρίζει).
Μειονεκτήµατα χρήσης του SSL Η χρήση του πρωτοκόλλου SSL αυξάνει τα διακινούµενα πακέτα µεταξύ των δύο µηχανών και καθυστερεί την µετάδοση των πληροφοριών επειδή χρησιµοποιεί µεθόδους κρυπτογράφησης και αποκρυπτογράφησης. Ειδικότερα οι διάφορες καθυστερήσεις εντοπίζονται στα εξής σηµεία: Στην αρχική διαδικασία χειραψίας όπου κανονίζονται οι λεπτοµέρειες της σύνδεσης και ανταλλάσσονται τα κλειδιά της συνόδου. Στην διαδικασία κρυπτογράφησης και αποκρυπτογράφησης που γίνεται στους δύο υπολογιστές µε αποτέλεσµα να δαπανώνται υπολογιστικοί πόροι και χρόνος. Στην καθυστέρηση µετάδοσης των κρυπτογραφηµένων δεδοµένων αφού αυτά αποτελούνται από περισσότερα bytes σε σχέση µε την αρχική µη κρυπτογραφηµένη πληροφορία. Για αυτούς τους λόγους µεγάλες ιστοσελίδες µε εκτενή χρήση του SSL χρησιµοποιούν κατά κόρον αφιερωµένους εξυπηρετητές (deticated servers)
(Συνέχεια ) Αδυναµίες του SSL: Brute Force Attack Εναντίον Αδύναµων Αλγορίθµων Η µεγαλύτερη αδυναµία του πρωτοκόλλου είναι η ευαισθησία µερικών αλγόριθµων που χρησιµοποιούν µικρά κλειδιά τα οποία και θα πρέπει να αποφεύγονται. ιαπραγµάτευση των Session Keys (διαθέσιµο στην 2 η έκδοση) Από την στιγµή που µία σύνδεση δηµιουργηθεί, το ίδιο master key χρησιµοποιείται καθ' όλη την διάρκεια της. Όταν το SSL χρησιµοποιείται πάνω από µια µακρόχρονη σύνδεση (π.χ. µιας TELNET ή FTP εφαρµογής), η αδυναµία αλλαγής του master key γίνεται επικίνδυνη. Η καλύτερη µέθοδος επίλυσης αυτού του προβλήµατος είναι η επαναδιαπραγµάτευση του κλειδιού σε τακτά χρονικά διαστήµατα, µειώνοντας έτσι την πιθανότητα µιας επιτυχής Brute Force Attack.
Βιβλιογραφία http://el.wikipedia.org/wiki/ssl https://ssl.trustwave.com/ http://www.islab.demokritos.gr/ http://www.tophost.gr/ssl-certificates.htm http://www.islab.demokritos.gr/ http://help.ubuntu-gr.org/10.04/serverguide/el/certificates-and-security.html ίκτυα εδοµένων Θεωρία και Εφαρµογές Βασίλειος Ράπτης,2004 ίκτυα και ιαδίκτυα Υπολογιστών,4 η Έκδοση,Douglas E. Comer,Εκδόσεις Κλειδάριθµος