Protezione dell'API back-end per le applicazioni mobili

1

Ho un'applicazione che sto scrivendo sia per iOS che per Android; questa applicazione sarà servita da un'API ReSTFUL in esecuzione su un cluster di server su "the internet". Sono curioso di sapere come sta andando il resto del mondo a proteggere le proprie API in modo che solo le applicazioni specifiche in esecuzione su iOS o Android possano utilizzare queste API.

Potrei seguire lo stesso percorso degli altri provider OAuth fornendo una combinazione chiave / segreta (OAuth a 2 vie), tuttavia, cosa devo fare se dovessi cambiare queste chiavi ??? Creo una nuova chiave / segreto per ogni persona che scarica l'app ???

L'applicazione è un gioco basato sulla socializzazione che consente all'utente di interagire con altri "partecipanti" nel gioco in base alla posizione, ai risultati ottenuti, ecc.

L'API fornirà le seguenti funzioni:

-Questions, Quests, ecc -Profilo Management -Interazione utente -Possibile interazione sociale

Una volta che l'app ha acquisito la trazione, ho intenzione di aprire l'API a Facebook, Twitter, ecc. Che è abbastanza facile, ho intenzione di implementare un server OAuth e quant'altro. Tuttavia, voglio assicurarmi, durante questa fase, che solo le persone che utilizzano l'applicazione possano accedere e utilizzare l'API.

    
posta El Guapo 18.06.2012 - 16:30
fonte

1 risposta

1

Non c'è modo di essere sicuri che l'applicazione all'estremità del filo sia quella che tu pensi che sia. Non è possibile impedire a qualcuno di eseguire il reverse engineering delle comunicazioni e dell'API e di eseguire la propria app. Puoi (ovviamente) renderlo difficile, ad esempio crittografando il traffico e rendendo i protocolli difficili da emulare anche se decodificati.

    
risposta data 20.06.2012 - 19:39
fonte

Leggi altre domande sui tag