To jest głębokie nurkowanie techniczne po zadaniu pytania przeglądowego .
Jakie są różnice w protokole między SSL a TLS?
Czy naprawdę jest wystarczająca różnica, aby uzasadnić zmianę nazwy? (w porównaniu z nazywaniem go „SSLv4” lub SSLv5 w przypadku nowszych wersji TLS)
Odpowiedzi:
SSLv2 i SSLv3 są całkowicie różne (i oba są teraz uważane za niebezpieczne). SSLv3 i TLSv1.0 są bardzo podobne, ale mają kilka różnic.
Można uznać TLSv1.0 za SSLv3.1 (w rzeczywistości dzieje się to w ramach wymienianych rekordów). Po prostu łatwiej jest porównać TLSv1.0 z TLSv1.1 i TLSv1.2, ponieważ wszystkie zostały edytowane w IETF i mają mniej więcej tę samą strukturę. Edytowanie SSLv3 przez inną instytucję (Netscape) sprawia, że zauważenie różnic jest nieco trudniejsze.
Oto kilka różnic, ale wątpię, czy mogę wymienić je wszystkie:
ClientHello
wiadomości (pierwsza wiadomość wysłana przez klienta w celu zainicjowania uzgadniania) wersja jest{3,0}
dla SSLv3,{3,1}
dla TLSv1.0 i{3,2}
dla TLSv1.1.ClientKeyExchange
różni.Finished
w SSLv3. W TLSv1 musi czekać na komunikat serweraFinished
.SSL_*
na naTLS_*
, zachowując ten sam numer identyfikacyjny).Zdecydowanie poleciłbym książkę Erica Rescorli - SSL i TLS: Projektowanie i budowanie bezpiecznych systemów , Addison-Wesley, 2001 ISBN 0-201-61598-3 , jeśli naprawdę chcesz więcej szczegółów. Dowiedziałem się o niektórych punktach wspomnianych powyżej z tej książki. Autor od czasu do czasu wspomina o różnicach między SSLv3 a TLS (wersja 1.0 tylko w momencie pisania książki), wyjaśniając niektóre wiadomości SSL / TLS, ale potrzebujesz wyjaśnienia w tle tych wiadomości, aby mieć szansę zrozumieć ( i nie jest właściwe kopiowanie / wklejanie z tej książki tutaj).
źródło
ClientHello
rekord, a klienci korzystający wyłącznie z protokołu SSL3 wysyłaliby tylko oryginałClientHello
.draft302.txt
i „ W celu zapewnienia zgodności do przodu ... ” porównaj z sekcjami 7.4.1.2 specyfikacji TLS). Aby poradzić sobie ze stosami, które tego nie obsługują, istnieją również obejścia, takie jak pseudo-pakiet szyfrów SCSV w rozszerzeniu renegocjacji.Po prostu powtórzę pozostałe odpowiedzi, ale może z nieco innym naciskiem.
Istniał protokół bezpiecznego gniazda, który był „własnością” firmy Netscape, który nazywał się SSL wersja 2. Nowa wersja z inną strukturą rekordów i ulepszeniami bezpieczeństwa również „posiadanymi” przez Netscape została wydana i nosiła nazwę SSL wersja 3. Wewnątrz protokołu w kilku places to binarne pole numeru wersji. W przypadku wersji SSL 3 to pole jest ustawione na 0x03 0x00, tj. Wersja 3.0. Następnie IETF postanowił stworzyć własny standard. Być może dlatego, że istniały pewne wątpliwości dotyczące własności intelektualnej dotyczące SSL, w tym to, czy „SSL” był znakiem towarowym Netscape, kiedy IETF wydało kolejną wersję tego protokołu, nadali mu własną nazwę: protokół Transport Layer Security lub TLS wersja 1.0. Format rekordu i ogólna struktura są identyczne i zgodne z SSL v3. Numer wersji binarnej został zmieniony na 0x03 0x01, a jak zauważyli inni, nastąpiły niewielkie zmiany w kryptografii. Od tamtej pory istnieje wersja TLS 1.1 i 1.2, dla której numery protokołów wewnętrznych to 0x03 0x02 i 0x03 0x03.
Ignorując SSLv2, była to po prostu zmiana nazwy wraz z normalnym dostrajaniem protokołu, które ma miejsce, gdy ludzie stają się mądrzejsi w kwestii bezpieczeństwa i wydajności.
źródło
Zasadniczo jest to zmiana nazwy nowszej wersji protokołu. Uważam, że głównym powodem tego było odróżnienie go od starszego, nieformalnego standardu zaprojektowanego głównie przez Netscape po tym, jak stał się oficjalnym protokołem śledzenia standardów IETF.
Jak powiedziano w odpowiedziach na twoje wcześniejsze pytanie, nie oznacza to, że SSLv3 i TLSv1.0 są kompatybilne. Cytowanie z RFC 2246:
Myślę, że jeśli naprawdę chcesz poznać dokładne różnice w protokołach, musisz przeczytać standardy i porównać się.
Projekt protokołu SSLv3 z Netscape TLSv1.0 RFC 2246
źródło
Protokół szyfrowania SSL nosi teraz nazwę TLS, co daje dwie nazwy tego samego protokołu. Obecne oprogramowanie automatycznie negocjuje TLS w wersji 1 lub SSL w wersji 3. Z drugiej strony ludzie muszą zdecydować się na użycie bardziej rozpoznawalnego terminu SSL w porównaniu z oficjalnym oznaczeniem TLS.
SSL jest poprzednikiem TLS.
TLS i SSL szyfrują segmenty połączeń sieciowych w warstwie aplikacji, aby zapewnić bezpieczny transport od końca do końca w warstwie transportowej.
źródło
Różnice:
źródło