Ответ
SSL (Secure Sockets Layer) и TLS (Transport Layer Security) — криптографические протоколы, обеспечивающие безопасную связь в сетях (например, HTTPS). TLS является преемником и прямой заменой SSL.
Основные отличия:
-
История и стандартизация:
- SSL: Разработан Netscape (SSL 1.0, 2.0, 3.0).
- TLS: Стандартизирован IETF. TLS 1.0 = SSL 3.1, TLS 1.2, TLS 1.3 — современные версии.
-
Безопасность: TLS устраняет критические уязвимости SSL (например, POODLE в SSL 3.0) и использует более стойкие алгоритмы.
-
Алгоритмы шифрования:
- SSL: Устаревшие (RC4, MD5).
- TLS: Современные (AES-GCM, ChaCha20, SHA-256/384).
-
Процесс рукопожатия (Handshake): В TLS он более эффективен и безопасен (в TLS 1.3 сокращён до 1 RTT).
Важно: Термины "SSL" и "TLS" часто используются как синонимы (например, "SSL-сертификат"), но технически все современные реализации используют TLS. SSL считается небезопасным и deprecated.
Проверка используемого протокола (пример на Python):
import ssl
import socket
hostname = 'google.com'
context = ssl.create_default_context()
with socket.create_connection((hostname, 443)) as sock:
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
print(f'Используемый протокол: {ssock.version()}') # Вывод: TLSv1.2 или TLSv1.3
Рекомендация: Настраивайте сервисы на поддержку минимум TLS 1.2, а лучше — TLS 1.3.