Jak již bylo řečeno, 100% zabezpečení není možné. Existuje však několik řešení, která dohromady poskytují skvělou bezpečnost.
Https
Jak uvádíte, je to důležitá součást, protože zabraňuje čichání.
Relace
Používejte relace a nepovolujte žádný požadavek bez platné relace (kromě první, která musí aplikaci ověřit).
Otisk prstu
Zkontrolujte uživatelského agenta a nastavte další záhlaví http, abyste získali otisk prstu jedinečný pro vaši aplikaci. (Stále někdo mohl čichat, ale potřeboval použít curl nebo něco podobného. )
Obfuscate požadavky
Sestavte svůj řetězec dotazu a použijte hashovací funkci. Server musí implementovat funkci zpětného chodu. ?43adbf764Fz místo ?a=1&b=2
Šifrovat
Jde o krok dále. K výpočtu hash použijte sdílený tajný klíč. Na serveru opakujte totéž. To už je silné zabezpečení. Aby bylo možné rozbít, je třeba provést zpětnou analýzu vaší aplikace.
Použít jedinečný sdílený tajný klíč
Říkáte, že je to aplikace pro iOS. Po instalaci je systémem iOS vygenerován jedinečný token. Nechte svou aplikaci zaregistrovat tento token na vašem serveru. Takto máte silné sdílené tajemství jedinečné pro každou instalaci a nebylo by možné hacknout vaši webovou aplikaci.