Используй App Transport Security (ATS) для обеспечения HTTPS для всех сетевых коммуникаций. Избегай отключения исключений ATS, если это не абсолютно необходимо, так как это гарантирует, что весь трафик зашифрован во время передачи.
Реализуй пиннинг сертификатов для проверки подлинности сервера сверх стандартного TLS. Это предотвращает атаки man-in-the-middle путём сравнения сертификата сервера с известной доверенной копией, встроенной в приложение.
URLSession с пользовательским URLSessionDelegate
реализующим urlSession(_:didReceive:completionHandler:)
Используй аутентификацию на основе токенов, такую как OAuth 2.0 или JWT, для безопасного управления сессиями пользователя. Никогда не прописывай учётные данные в коде — сохраняй токены в Keychain, а не в UserDefaults.
Шифруй чувствительные данные перед передачей, используя стандартные отраслевые протоколы. Используй URLSession с правильно настроенной URLSessionConfiguration для обработки защищённых соединений и фреймворк CryptoKit от Apple для любых дополнительных задач шифрования.
Всегда проверяй и очищай данные, полученные из сети, перед их обработкой. Это защищает от инъекций и уязвимостей, связанных с некорректно сформированными payload'ами.
let config = URLSessionConfiguration.ephemeral
config.tlsMinimumSupportedProtocolVersion = .TLSv12
let session = URLSession(configuration: config)
App Transport Security (ATS) требует, чтобы все сетевые соединения использовали HTTPS, и отключение исключений ATS рекомендуется только когда это абсолютно необходимо для сохранения шифрования при передаче данных.
Новый — ещё не проверен сообществом
Вы