После дня поиска SSL и HTTPS я совершенно смущен тем, как сделать что-то очень простое. У меня есть небольшое приложение, которое не имеет никакой аутентификации пользователей. Все пользователи видят простое приложение.Защита ключа API в HTTP-запросе
Я пытаюсь использовать API для перевода Google для этого. У меня есть API-интерфейс для перевода, но я полностью забываю, как его защитить. Я хочу перевести Google прямо из приложения iOS, и в соответствии с api docs (https://cloud.google.com/translate/docs/reference/rest) apiKey предоставляется как параметр запроса «ключ». В документах API также говорится, что Google translate поддерживает SSL, но, очевидно, я не делаю никаких проверок SSL в моем приложении ios, чтобы подтвердить личность. Мой вопрос: как я могу остановить атаку MITM, которая может получить мой API-интерфейс для трансляции и оскорбить его? Я попытался использовать Чарльза, и я ясно вижу, что ключ прошел.
Каждый ресурс, который я читал в Интернете, говорит, что он использует SSL, и все хорошо. Но нет примеров использования SSL в приложениях iOS с использованием популярных сервисов, таких как Google.
Любые идеи о том, как я могу сделать этот простой запрос GET и предотвратить кражу моего ключа?
EDIT:
SSL Закрепление является излишеством для этого. Я не думаю об использовании SSL, но я понятия не имею, как это работает с iOS и сущностью, подобной Google (согласно обсуждению с @pvg ниже).
Вы можете попробовать реализовать собственный SSL-пиннинг, но это полный избыток для вашего API-интерфейса для перевода.Это не так ценно, чтобы кто-нибудь украл, и его трудно заменить. – pvg
Точно, внедрение SSL-закрепления - полный перебор. Мне нужно настроить собственный сервер, купить собственный SSL-сертификат и т. Д. Причина, по которой мой перевод API-ключа ценна, заключается в том, что в противном случае кто-то может легко получить ее и оскорбить ее с единственным намерением потратить мне деньги. – user1056585
Нет, вам не нужен ваш собственный сервер и сертификат, но опять же, никто не собирается красть ваш ключ API, и если бы они это сделали, скорее всего, вы не будете нести ответственность за использование. Вы можете взять это с помощью Google, если вы супер параноик, но в этот момент это не вопрос программирования. Это не вопрос программирования, как есть. – pvg