Stiamo costruendo un'app mobile e vogliamo implementare un qualche tipo di autenticazione per assicurarci che l'API sia accessibile solo dalla nostra app. Gli utenti dell'app sono anonimi, senza accessi, anche se li identifico tramite l'id del dispositivo per mantenere le impostazioni e così via.Come assicurarsi che le richieste API provengano dalla nostra app mobile (ios/android)?
L'approccio più semplice sembra generare una chiave Guid/API che invio con ogni richiesta su SSL.
Ciò che mi preoccupa è la possibilità che una persona malintenzionata con molto tempo libero possa scaricare l'app, decompilarla per ottenere la chiave API e le richieste JSON e quindi eliminare il mio database nel modo migliore possibile.
SSL, una chiave API, un ID dispositivo e un'API con chiamate come vincolate-come-possibili sono sufficienti? Dovrei seguire un approccio diverso? Le mie paure sono fondate o infondate?
Non capisco come questo rende tutto più sicuro. Il punto di vulnerabilità è diverso nel tuo caso: il servizio di registrazione. Posso attaccare questo e ho anche pieno accesso. Penso che per Android almeno è forse possibile fare qualcosa di simile: http://android-developers.blogspot.de/2013/01/verifying-back-end-calls-from-android.html – therealmarv
Come attaccheresti il servizio di registrazione per ottenere l'accesso completo? –