Movatterモバイル変換


[0]ホーム

URL:


Μετάβαση στο περιεχόμενο
ΒικιπαίδειαΗ Ελεύθερη Εγκυκλοπαίδεια
Αναζήτηση

TLS

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

ΤοTransport Layer Security (TLS) και ο προκάτοχός του, τοSecure Sockets Layer (SSL), τα οποία συχνά αναφέρονται ως απλά "SSL", είναιΠρωτόκολλα Κρυπτογράφησης τα οποία παρέχουνΑσφάλεια Επικοινωνίας πάνω από έναΔίκτυο Υπολογιστών[1]. Αρκετές από τις εκδόσεις του πρωτοκόλλου χρησιμοποιούνται σε εφαρμογές όπως ηπεριήγηση στον ιστό, τοΗλεκτρονικό ταχυδρομείο, η αποστολήτηλεομοιότυπων, ταΆμεσα Μηνύματα, καθώς και οικλήσεις μέσω IP (VoIP). Οιιστοσελίδες χρησιμοποιούν TLS για να διασφαλίσουν όλη την επικοινωνία μεταξύ τωνεξυπηρετητών τους και τωνπεριηγητών ιστού.

Το πρωτόκολλο Transport Layer Security στοχεύει στο να προσφέρειιδιωτικότητα καιακεραιότητα δεδομένων μεταξύ δύο εφαρμογώνηλεκτρονικών υπολογιστών που επικοινωνούν μεταξύ τους[1]. Όταν χρησιμοποιείται σε μία σύνδεση ανάμεσα σε έναν πελάτη (π.χ. ένανπεριηγητή ιστού) και έναν εξυπηρετητή (π.χ. το wikipedia.org), η σύνδεση αυτή έχει μία ή περισσότερες ιδιότητες:

  • Η σύνδεση αυτή είναι «ιδιωτική» (ή «ασφαλής») και απολύτως συμβατή με τιςμηχανές αναζήτησης, χάρη στηνσυμμετρική κρυπτογραφία, η οποία χρησιμοποιείται για την κρυπτογράφηση των δεδομένων που αποστέλλονται. Τακλειδιά για αυτήν την συμμετρική κρυπτογράφηση δημιουργούνται βάση ενός κοινού μυστικού το οποίο συμφωνείται στην αρχή της συνεδρίας (βλ.Χειραψία TLS) και είναι μοναδικά για κάθε σύνδεση. Ο πελάτης και ο εξυπηρετητής συμφωνούν στις λεπτομέρειες για τοναλγόριθμο κρυπτογράφησης και τοκρυπτογραφικό κλειδί πριν μεταδοθεί το πρώτοbyte πληροφορίας (βλ.Αλγόριθμος παρακάτω). Η συμφωνία αυτή για το κοινό μυστικό είναι ασφαλής (το μυστικό αυτό δεν είναι διαθέσιμο σε άτομα που παρακολουθούν την σύνδεση και δεν μπορεί να βρεθεί, ακόμα και αν ο επιτιθέμενος είναι στο μέσο της σύνδεσης) και αξιόπιστη (κανένας επιτιθέμενος δεν μπορεί να τροποποιήσει τα δεδομένα της σύνδεσης κατά την διάρκεια της χειραψίας χωρίς να γίνει αντιληπτός).
  • Η ταυτότητα των δύο μελών της επικοινωνίας μπορεί νααυθεντικοποιηθεί μέσωκρυπτογραφίας δημοσίου κλειδιού. Η αυθεντικοποίηση είναι προαιρετική, αλλά γενικά χρειάζεται για τουλάχιστον ένα από τα δύο άκρα της σύνδεσης. Είναι η βασική προϋπόθεση που πρέπει να διαθέτει κάθε ιστότοπος πρωτοκόλλου για να μην εμφανιστούν προβλήματα στις συνδέσεις με τον εξυπηρετητή και με τηνgoogle που μεσολαβεί στην διαδικασία αυτή.
  • Η σύνδεση εγγυάται «ακεραιότητα δεδομένων» γιατί κάθε μήνυμα που αποστέλλεται περιλαμβάνει ένα μήνυμα ελέγχου ακεραιότητας χρησιμοποιώντας ένανκωδικό αυθεντικοποίησης μηνύματος για να ανιχνεύσει απώλεια ή τροποποίηση των δεδομένων κατά την διάρκεια της αποστολής[1].

Επιπλέον των παραπάνω ιδιοτήτων, προσεκτική παραμετροποίηση του TLS μπορεί να παρέχει επιπλέον ιδιότητες σχετικές με την ιδιωτικότητα, όπωςForward Secrecy, παρέχοντας την εγγύηση πως οποιαδήποτε μελλοντική κλοπή κρυπτογραφικών κλειδιών δεν μπορεί να βοηθήσει στην αποκρυπτογράφηση οποιασδήποτε προηγούμενης επικοινωνίας ασφαλισμένης με TLS από το παρελθόν[2].

Το TLS υποστηρίζει πολλές διαφορετικές μεθόδους ανταλλαγής κλειδιών, κρυπτογράφησης δεδομένων, και αυθεντικοποίησης ακεραιότητας μηνυμάτων (βλ.Αλγόριθμος παρακάτω). Ως αποτέλεσμα, μια ασφαλής παραμετροποίηση του TLS περιλαμβάνει την επιλογή μεταξύ πολλών παραμέτρων, κάποιες εκ των οποίων μόνο παρέχουν όλες τις σχετικές ιδιότητες ιδιωτικότητας και περιγράφονται στονπίνακα αυθεντικοποίησης και ανταλλαγής κλειδιών, στονπίνακα ασφαλείας κρυπτογραφημάτων, και στονπίνακα ακεραιότητας δεδομένων).

Προσπάθειες που έχουν γίνει για την παραβίαση ορισμένων ιδιοτήτων της ασφάλειας των επικοινωνίων που παρέχει το TLS, έχουν οδηγήσει σε αλλαγές στο ίδιο το πρωτόκολλο για την προστασία απέναντι σε τέτοιες επιθέσεις (βλ.Ασφάλεια). Οι προγραμματιστές τωνπεριηγητών ιστού έχουν επίσης τροποποιήσει τα προϊόντα τους για να αμυνθούν απέναντι σε πιθανά κενά ασφαλείας αφού αυτά εντοπίστηκαν (βλ.Υποστήριξη SSL/TLS σε περιηγητές ιστού).

Το πρωτόκολλο TLS αποτελείται από δύο επίπεδα, τοΠρωτόκολλο Καταγραφής TLS, και τοπρωτόκολλο χειραψίας TLS.

Το TLS είναι ένα προτεινόμενοΠρότυπο Ίντερνετ από τοInternet Engineering Task Force (IETF), και πρώτα ορίστηκε το 1999 και έπειτα ανανεώθηκε στοRFC 5246 (Αύγουστος 2008), και στοRFC 6176 (Μάρτιος 2011). Βασίζεται πάνω στις προηγούμενες δημοσιευμένες προδιαγραφές του SSL (1994, 1995, 1996) που αναπτύχθηκε από τηνNetscape Communications[3] για την προσθήκη του πρωτοκόλλουHTTPS στο περιηγητή τους,Netscape Navigator.

Περιγραφή

[Επεξεργασία |επεξεργασία κώδικα]

Εφαρμογές που ακολουθούν τοΜοντέλο πελάτη-διακομιστή χρησιμοποιούν το πρωτόκολλο TLS για να επικοινωνήσουν μέσω ενός δικτύου αποφεύγονταςυποκλοπή των μηνυμάτων και την τροποποίηση τους από τρίτους.

Από την στιγμή που τα πρωτόκολλα μπορούν να λειτουργήσουν είτε με την χρήση, είτε χωρίς TLS (ή SSL), είναι απαραίτητο ο πελάτης να ειδοποιήσει τονδιακομιστή για το ξεκίνημα μιας συνεδρίας TLS. Υπάρχουν δύο βασικοί τρόποι για να γίνει αυτό. Ο πρώτος είναι η χρήση μιας διαφορετικήςπόρτας για τις συνδέσεις TLS, όπως για παράδειγμα η 443 για τοHTTPS. Ο άλλος τρόπος είναι ο πελάτης να χρησιμοποιήσει έναν μηχανισμό που υποστηρίζει το ίδιο τοπρωτόκολλο επικοινωνίας, όπως για παράδειγμα τοSTARTTLS στοηλεκτρονικό ταχυδρομείο, και να ζητήσει από τονδιακομιστή να μεταχειριστεί την σύνδεση ως TLS.

Μόλις ο πελάτης και ο διακομιστής συμφωνήσουν να χρησιμοποιήσουν TLS, συμφωνούν σε μία σύνδεση με πολλαπλές καταστάσεις, χρησιμοποιώντας την διαδικασίαχειραψίας[4]. Κατά την διάρκεια της χειραψίας, ο πελάτης και ο διακομιστής συμφωνούν σε διάφορες παραμέτρους που θα χρησιμοποιηθούν για να επιβεβαιωθεί η ασφάλεια της σύνδεσης:

  • Η χειραψία ξεκινάει όταν ένας πελάτης συνδέεται σε έναν διακομιστή που υποστηρίζει TLS και αιτείται μια ασφαλή σύνδεση, παρουσιάζοντας μια λίστα μεκρυπτογραφήματα, καθώς και μία λίστα μεκρυπτογραφικές συναρτήσεις κατακερματισμού που ο ίδιος υποστηρίζει.
  • Από αυτήν την λίστα, ο διακομιστής επιλέγει έναν αλγόριθμο κρυπτογράφισης και μια κρυπτογραφική συνάρτηση κατακερματισμού που και ο ίδιος υποστηρίζει και ενημερώνει τον πελάτη για αυτήν την απόφαση.
  • Ο διακομιστής συνήθως στέλνει πίσω και κάποιο στοιχείο για να επιβεβαιώσει την ταυτότητα του, συνήθως στην μορφή ενόςψηφιακού πιστοποιητικού. Το πιστοποιητικό αυτό περιέχει το όνομα του διακομιστή, την έμπιστηΑρχή Πιστοποίησης (CA), καθώς και τοδημόσιο κλειδί του για χρήση σε πράξεις μεκρυπτογράφηση δημόσιου κλειδιού.
  • Ο πελάτης στην συνέχεια επιβεβαιώνει την εγκυρότητα του ψηφιακού πιστοποιητικού πριν προχωρήσει.
  • Για την δημιουργία τουκλειδιού συνεδρίας που θα χρησιμοποιηθεί για την ασφάλιση της σύνδεσης, ο πελάτης είτε:
    • κρυπτογραφεί έναντυχαίο αριθμό με το δημόσιο κλειδί του διακομιστή και στέλνει το αποτέλεσμα στον διακομιστή (το οποίο μπορεί πλέον να δει μόνο ο διακομιστής, χάρη στο ιδιωτικό κλειδί). Έτσι, και τα δύο μέρη της σύνδεσης χρησιμοποιούν έπειτα αυτόν τον τυχαίο αριθμό για να δημιουργήσουν ένα μοναδικό κλειδί συνεδρίας το οποίο θα χρησιμοποιήσουν αργότερα για κρυπτογράφηση και αποκρυπτογράφηση των δεδομένων σε αυτήν την συνεδρία.
    • χρησιμοποιείανταλλαγή κλειδιών Diffie-Hellman για να δημιουργήσει με ασφάλεια ένα τυχαίο και μοναδικό κλειδί συνεδρίας για την κρυπτογράφηση και αποκρυπτογράφηση δεδομένων το οποίο έχει επίσης την ιδιότητα του forward secrecy: αν το ιδιωτικό κλειδί του διακομιστή κλαπεί στο μέλλον, δεν μπορεί να χρησιμοποιηθεί για να αποκρυπτογραφηθεί η τρέχουσα συνεδρία, ακόμα και αν αυτή καταγραφεί πλήρως από κάποιον τρίτο.

Σε αυτό το σημείο τελειώνει η χειραψία και αρχίζει η ασφαλής σύνδεση, της οποίας τα δεδομένα κρυπτογραφούνται και αποκρυπτογραφούνται με το κλειδί συνεδρίας μέχρι να τερματιστεί η σύνδεση. Αν οποιοδήποτε από τα παραπάνω βήματα αποτύχει, η χειραψία TLS αποτυγχάνει, και η σύνδεση δεν δημιουργείται.

Ιστορία και ανάπτυξη

[Επεξεργασία |επεξεργασία κώδικα]
Ορίστηκε
ΠρωτόκολλοΈτος
SSL 1.0Δ/Δ
SSL 2.01995
SSL 3.01996
TLS 1.01999
TLS 1.12006
TLS 1.22008
TLS 1.32018

Ασφαλής Προγραμματισμός Δικτύου

[Επεξεργασία |επεξεργασία κώδικα]

Αρχικές έρευνες σχετικά με την ασφάλεια συνδέσεων δικτύου περιείχαν τοAPI για Ασφαλή Προγραμματισμό Δικτύου (Secure Network Programming / SNP), και το 1993 εξερεύνησαν την πιθανότητα να υπάρχει ένα API για ασφαλείς μεταφορές μέσω δικτύου, πολύ κοντινό με αυτό τωνBerkeley sockets, με σκοπό την ευκολότερη χρήση του σε ήδη υπάρχουσες εφαρμογές με ανάγκες σε ασφάλεια[5].

SSL 1.0, 2.0, και 3.0

[Επεξεργασία |επεξεργασία κώδικα]

ΗNetscape Communications ανέπτυξε την αρχική έκδοση των πρωτοκόλλων SSL[6]. Η έκδοση 1.0 δεν δημοσιεύτηκε ποτέ λόγω πολύ μεγάλων κενών ασφαλείας στο πρωτόκολλο. Η έκδοση 2.0 όμως, δημοσιεύτηκε τον Φεβρουάριο του 1995, και "περιείχε πληθώρα κενών ασφαλείας που εν τέλη οδήγησαν στον σχεδιασμό του SSL 3.0"[7]. Δημοσιευμένο το 1996, το SSLv3 ήταν το επανασχεδιασμένο πρωτόκολλο του μηχανικούPaul Kocher, ο οποίος δούλεψε μαζί με του μηχανικούς τηςNetscape CommunicationsPhil Karlton καιAlan Freier, και είχε μια πρώτυπη υλοποίηση από τονChristopher Allen και τονTim Dierks της Consensus Development. Οι νεότερες εκδόσεις του SSL/TLS είναι βασισμένες στο SSL v3.0. Το πρόχειρο προσδιοριστικό έγγραφο του 1996, δημοσιεύτηκε από τοIETF σαν ιστορικό ντοκουμέντο στοRFC 6101.

Ο Δρ.Taher Elgamal, επικεφαλής επιστήμονας στηνNetscape Communications από το 1995 μέχρι το 1998, είναι γνωστός ως ο "πατέρας του SSL"[8][9].

Από το 2014, η έκδοση 3.0 του SSL δεν θεωρείται ασφαλής καθώς είναι ευπαθής στηνεπίθεση POODLE που επηρεάζει όλους τουςΚρυπτογραφικούς Αλγόριθμους Δέσμης στο SSL, και τοRC4, τον μόνο μη κρυπτογραφικό αλγόριθμο δέσμης που υποστηρίζει το SSL 3.0[10].

Το SSL 2.0 απαγορεύτηκε και θεωρήθηκε μη-ασφαλές το 2011, στοRFC 6176.

Το SSL 3.0 θεωρήθηκε μη-ασφαλές τον Ιούνιο του 2015, με τοRFC 7568.

TLS 1.0

[Επεξεργασία |επεξεργασία κώδικα]

Το TLS 1.0 πρώτα ορίστηκε στοRFC 2246 τον Ιανουάριο του 1999 ως μια αναβάθμιση του SSL 3.0, και γράφτηκε από τονChristopher Allen και τονTim Dierks της Consensus Development. Σύμφωνα με τον ορισμό του στο RFC, "οι διαφορές μεταξύ αυτού του πρωτοκόλλου και του SSL 3.0 δεν είναι πολύ μεγάλες, αλλά είναι αρκετά σημαντικές για να σταματήσει η διαλειτουργικότητα μεταξύ του TLS 1.0 και του SSL 3.0". Το TLS 1.0 περιλαμβάνει έναν μηχανισμό με τον οποίο μια σύνδεση μπορεί να υποβαθμιστεί σε SSL 3.0, μειώνοντας έτσι την ασφάλεια που παρέχει[11].

TLS 1.1

[Επεξεργασία |επεξεργασία κώδικα]

Το TLS 1.1 ορίστηκε στοRFC 4346 τον Απρίλιο του 2006[12]. Είναι η αναβάθμιση της έκδοσης 1.0 του TLS. Οι μεγαλύτερες αλλαγές σε αυτήν την έκδοση περιλαμβάνουν:

TLS 1.2

[Επεξεργασία |επεξεργασία κώδικα]

Το TLS 1.2 ορίστηκε με τοRFC 5246 τον Αύγουστο του 2008. Βασίζεται στην προηγούμενη έκδοση, TLS 1.1. Οι μεγαλύτερες διαφορές περιλαμβάνουν:

Παραπομπές

[Επεξεργασία |επεξεργασία κώδικα]
  1. 1,01,11,2T. Dierks· E. Rescorla (Αυγούστου 2008).«The Transport Layer Security (TLS) Protocol, Version 1.2». 
  2. SSL: Intercepted today, decrypted tomorrow, Netcraft, 2013-06-25.
  3. A. Freier· P. Karlton· P. Kocher (Αυγούστου 2011).«The Secure Sockets Layer (SSL) Protocol Version 3.0». 
  4. "SSL/TLS in Detail".Microsoft TechNet. Updated July 31, 2003.
  5. Thomas Y. C. Woo, Raghuram Bindignavle, Shaowen Su andSimon S. Lam,SNP: An interface for secure network programming Proceedings USENIX Summer Technical Conference, June1994
  6. «THE SSL PROTOCOL». Netscape Corporation. 2007. Αρχειοθετήθηκεαπό το πρωτότυπο στις 14 Ιουνίου 1997. 
  7. Rescorla 2001
  8. Messmer, Ellen.«Father of SSL, Dr. Taher Elgamal, Finds Fast-Moving IT Projects in the Middle East».Network World. Αρχειοθετήθηκεαπό το πρωτότυπο στις 31 Μαΐου 2014. Ανακτήθηκε στις 30 Μαΐου 2014. 
  9. Greene, Tim.«Father of SSL says despite attacks, the security linchpin has lots of life left».Network World. Αρχειοθετήθηκεαπό το πρωτότυπο στις 31 Μαΐου 2014. Ανακτήθηκε στις 30 Μαΐου 2014. 
  10. «POODLE: SSLv3 vulnerability (CVE-2014-3566)». Ανακτήθηκε στις 21 Οκτωβρίου 2014. 
  11. 11,011,1Polk, Tim; McKay, Terry; Chokhani, Santosh (Απριλίου 2014).«Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations»(PDF). National Institute of Standards and Technology. σελ. 67. Ανακτήθηκε στις 7 Μαΐου 2014. CS1 maint: Uses authors parameter (link)
  12. Dierks, T. & E. Rescorla (Απριλίου 2006).«The Transport Layer Security (TLS) Protocol Version 1.1, RFC 4346». 
  13. T. Dierks, E. Rescorla (August 2008). «Finished», sec. 7.4.9. RFC 5246. https://tools.ietf.org/html/rfc5246#section-7.4.9. 


Stub iconΑυτό το λήμμα σχετικά με τηνΠληροφορική χρειάζεταιεπέκταση. Μπορείτε να βοηθήσετε την Βικιπαίδειαεπεκτείνοντάς το.
Ανακτήθηκε από "https://el.wikipedia.org/w/index.php?title=TLS&oldid=10084650"
Κατηγορία:
Κρυμμένες κατηγορίες:

[8]ページ先頭

©2009-2025 Movatter.jp