Наиболее безопасным решением, вероятно, является цифровая подпись по запросу. Вы можете сохранить секретный ключ в приложении iPhone и использовать его для подписи запросов, которые затем можно будет проверить на стороне сервера. Это позволяет избежать отправки ключа / пароля на сервер, что позволит кому-то перехватить его с помощью сетевого анализатора.
Простое решение может заключаться в простом использовании HTTPS - обеспечение безопасности ваших сообщений, несмотря на присутствие потенциальных перехватчиков, - вот и весь смысл HTTPS. Я не уверен, что вы можете создавать самозаверяющие сертификаты со стандартным NSURLConnection, но если у вас есть сертификат на стороне сервера, вы, по крайней мере, защищены от прослушивания. И кода для написания гораздо меньше (на самом деле, нет).
Полагаю, если вы используете HTTPS в качестве единственной защиты, то вы потенциально открыты для того, чтобы угадать URL. Если это вызывает озабоченность, то добавление практически любого вида проверки параметров в веб-службу позаботится об этом.