Вопрос проверяет знание методов защиты от атак "человек посередине".
Основные методы: HTTPS (TLS), сертификаты, HSTS, проверка отпечатков сертификатов, двухфакторная аутентификация.
Основные методы защиты:
TLS/HTTPS:
Обязательное использование для всех соединений
Современные версии протокола (TLS 1.2+)
Отключение устаревших алгоритмов шифрования
Сертификаты:
Валидация цепочки сертификатов
Certificate Pinning (фиксация ожидаемого сертификата)
Использование доверенных центров сертификации
Дополнительные меры:
HSTS (HTTP Strict Transport Security)
Проверка отпечатков сертификатов
Использование DNSSEC для защиты DNS
Для API:
Подписание запросов
Использование временных токенов
Ограничение времени жизни токенов
Пример Certificate Pinning в Android:
val certificatePinner = CertificatePinner.Builder()
.add("example.com", "sha256/AAAAAAAAAAAAAAAA=")
.build()
val client = OkHttpClient.Builder()
.certificatePinner(certificatePinner)
.build()