секретный ключ ядра приложения для доступа к iphone - PullRequest
3 голосов
/ 13 февраля 2010

Как я могу убедиться, что только моему приложению для iphone разрешено использовать мое приложение для отправки и получения данных? Я, вероятно, должен использовать секретный ключ, но я не знаю как. Могу ли я просто использовать post / get для отправки моего статического ключа через https? Или мне нужно использовать какой-нибудь динамический алгоритм секретного ключа?

Любая помощь будет оценена! Bjorn

Ответы [ 3 ]

2 голосов
/ 13 февраля 2010

Предполагая, что вы можете сохранить секрет раскрытия приложения для iPhone, вам нужен HMAC . Для каждого вашего запроса передайте текст запроса в функцию, подобную HMAC-SHA1, с вашим секретным ключом в качестве ключа, и добавьте результат к вашему запросу. Когда сервер получит запрос, выполните ту же операцию и убедитесь, что HMAC совпадают.

0 голосов
/ 13 февраля 2010

Используйте SSL-сертификат на вашем веб-сервисе, так как любые данные, передаваемые ему, зашифрованы.

Зашифрованное соединение SSL требует вся информация, передаваемая между клиентом и сервер, который должен быть зашифрован отправка программного обеспечения и расшифрована получение программного обеспечения, защита частного информация от перехвата над Интернет.

Кроме того, при каждом обращении в службу отправляйте единый гид, который вы указали вместе с вашими данными. Это руководство должно быть проверено, прежде чем веб-служба выполнит какое-либо действие. Чтобы заблокировать еще больше, вы можете создать службу, которая генерирует guid, который необходимо передать обратно для любой последующей вызывающей службы.

Также убедитесь, что вы никому не позволяете видеть ваш wsdl на сервере, иначе они могут угадать ваши параметры.

Сертификат SSL от RapidSSL стоит 17 долларов в год, так что вам не о чем беспокоиться.

0 голосов
/ 13 февраля 2010

Я не совсем уверен, чего вы хотите достичь.

Но иметь общие секреты или ключи API внутри приложения для iPhone - это, как правило, плохая идея.

Вы говорите о своем собственном приложении AppEngine. Почему бы вам не создать простой (основанный на JSON) веб-сервис на стороне AppEngine, с которым взаимодействует ваше приложение? Я сомневаюсь, что есть необходимость напрямую использовать свои учетные данные AppEngine из приложения для iPhone.

Если это не отвечает на ваш вопрос, пожалуйста, предоставьте более подробную информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...