Standard Transport Layer Security (TLS) to rozwinięcie protokołu
A. Session Initiation Protocol (SIP).
B. Network Terminal Protocol (telnet).
C. Secure Socket Layer (SSL).
D. Secure Shell (SSH).
Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.13-X-18.01).
Standard TLS, czyli Transport Layer Security, jest następcą i rozwinięciem protokołu Secure Sockets Layer, znanego jako SSL. Historycznie wyglądało to tak, że SSL 3.0 był podstawą, na której IETF opracowało TLS 1.0, opisany w RFC 2246. Dzisiaj w praktyce nie powinno się już używać starego SSL, bo ma znane podatności i jest uznawany za przestarzały. W dobrych konfiguracjach serwerów spotyka się raczej TLS 1.2 albo TLS 1.3, opisany w RFC 8446. TLS odpowiada za szyfrowanie transmisji, uwierzytelnianie serwera za pomocą certyfikatu oraz ochronę integralności danych. Praktycznie widzisz go np. w HTTPS, poczcie przez IMAPS, SMTPS albo przy połączeniach VPN i API. Moim zdaniem warto zapamiętać prostą zasadę: SSL to starszy poprzednik, TLS to jego bezpieczniejszy następca używany współcześnie. W branży często ludzie nadal mówią certyfikat SSL, chociaż technicznie chodzi już prawie zawsze o TLS. To taki skrót myślowy, ale na egzaminie trzeba znać dokładną nazwę.
TLS bywa mylony z różnymi protokołami bezpieczeństwa i komunikacji, bo wszystkie mogą występować gdzieś w sieciach komputerowych, ale ich rola jest inna. Secure Shell, czyli SSH, służy głównie do bezpiecznego zdalnego logowania, administracji serwerem, tunelowania portów i kopiowania plików przez SCP albo SFTP. SSH ma własny mechanizm szyfrowania i uwierzytelniania, ale nie jest poprzednikiem TLS. To osobny protokół aplikacyjny, bardzo ważny w administracji Linux/Unix, lecz historycznie nie stanowił podstawy standardu TLS. Session Initiation Protocol, czyli SIP, jest używany przede wszystkim do zestawiania sesji multimedialnych, na przykład w telefonii VoIP. Może korzystać z zabezpieczeń, na przykład przez TLS w wariancie SIPS, ale sam SIP nie jest protokołem kryptograficznym rozwiniętym do TLS. Tu częsty błąd polega na tym, że ktoś widzi komunikację sieciową i zakłada, że skoro protokół dotyczy transmisji, to może być związany z TLS. Telnet natomiast to stary protokół terminalowy, który przesyła dane, w tym hasła, zwykle jawnym tekstem. Z punktu widzenia dobrych praktyk bezpieczeństwa telnet powinien być zastępowany przez SSH. Nie ma też czegoś takiego jak Network Terminal Protocol w sensie poprzednika TLS; w praktyce mówi się po prostu Telnet. Właściwy związek historyczny jest między SSL i TLS: TLS powstał jako standaryzowana, poprawiona wersja mechanizmów SSL, a obecnie SSL jest wyłączany w poprawnie skonfigurowanych usługach, bo nie spełnia współczesnych wymagań bezpieczeństwa.