В чем разница между защищенными и незащищенными сетевыми протоколами?

«В чем разница между защищенными и незащищенными сетевыми протоколами?» — вопрос из категории Тестирование безопасности, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Защищенные протоколы (HTTPS, SFTP, WSS, SMTPS) используют шифрование (TLS/SSL) для обеспечения конфиденциальности и целостности данных. Незащищенные протоколы (HTTP, FTP, WS, SMTP) передают данные в открытом виде.

Ключевые отличия:

Критерий Защищенный протокол Незащищенный протокол
Шифрование Да (TLS/SSL) Нет
Порт по умолчанию HTTPS: 443, SFTP: 22 HTTP: 80, FTP: 21
Безопасность данных Защита от перехвата (MitM) Данные передаются открытым текстом
Аутентификация Сертификаты сервера/клиента Базовая или отсутствует
Производительность Накладные расходы на шифрование Быстрее

Пример на уровне кода:

# Уязвимый HTTP-запрос
import requests
response = requests.get('http://api.example.com/data')  # Данные можно перехватить

# Безопасный HTTPS-запрос
import requests
response = requests.get('https://api.example.com/data')  # Соединение зашифровано

Практическое правило: Всегда используйте защищенные протоколы для передачи конфиденциальных данных (логины, пароли, платежная информация). Современные стандарты (HSTS, предзагрузка HTTPS) делают HTTPS обязательным для веб-приложений.