Som nämnts tidigare är det ingen 100 % säkerhet möjlig. Men det finns flera lösningar som tillsammans ger stor trygghet.
Https
Som du påpekar är detta en viktig del, eftersom det förhindrar sniffning.
Sessioner
Använd sessioner och tillåt ingen begäran utan en giltig session (förutom den första, som måste autentisera appen).
Fingeravtryck
Kontrollera användaragenten och ställ in extra http-rubriker för att få ett fingeravtryck som är unikt för din app. ( Fortfarande kunde någon sniffa, men han behövde använda curl eller liknande. )
Obfuskera förfrågningar
Bygg din frågesträng och använd en hashfunktion. Servern måste implementera den omvända funktionen. ?43adbf764Fz istället för ?a=1&b=2
Kryptera
Detta går ett steg längre. Använd en delad hemlighet för att beräkna en hash. Upprepa samma sak på servern. Detta är redan stark säkerhet. För att gå sönder måste man bakåtkonstruera din app.
Använd unik delad hemlighet
Du säger att det är en app för iOS. Vid installationen genereras en unik token av iOS. Låt din app registrera denna token på din server. Så här har du en stark delad hemlighet som är unik för varje installation, och det skulle inte finnas något sätt att hacka din webbapp.