Questa è la prima volta che affronto la distribuzione di app mobili su larga scala. Questa app deve connettersi a un server remoto in cui archiviare e recuperare i dati.
Ho scartato la connessione direttamente al database MySQL in quanto sarebbe una pessima idea, quindi metto alcuni script PHP sul lato server che ricevono i dati dai dispositivi mobili come query POST HTTP e producono una risposta valida a seconda della query.
Ora sto iniziando a preoccuparmi della sicurezza usando questo approccio. Chiunque può connettersi al WiFi della propria casa e impostare come gateway una macchina locale e iniziare a sniffare il traffico, in questo modo sarebbe molto facile sapere quali query vengono inviate e come manomettere alcune query per ottenere / inviare dati non protetti.
Per impedirlo, ho considerato i seguenti approcci:
-
SSL : sembra ovvio, ma per quanto ne so, SSL crittograferà i dati nella transazione via filo, ma è ancora possibile annusarli in un computer locale.
-
Algoritmo di crittografia : crittografa entrambi i messaggi del client e del server con una crittografia sicura. Ciò dovrebbe affrontare altri problemi, tuttavia, poiché codifica alcune chiavi nell'app, che non sembra un grosso problema.
Mi piacerebbe evitare l'utilizzo di componenti aggiuntivi di terze parti e utilizzare il mio codice per fare tutto il resto, ma a questo punto sono bloccato su come procedere.
Qualche idea? Grazie!