Attualmente sto sviluppando un'applicazione per Android relativa alla banca. Vorrei condividere le mie conoscenze e forse anche voi ragazzi siete più esperti di me in modo da poter aggiungere le vostre idee alla lista.
La banca è un cliente molto speciale. Sono davvero preoccupati per la sicurezza. Tuttavia, allo stesso tempo, vogliono avere molta flessibilità e grande funzionalità per confortare i propri utenti. Penso davvero che sia la sicurezza che la praticità non siano in relazione tra loro.
Quindi, cosa ho fatto sono:
- Utilizza SSL per comunicare dall'app e dall'API web.
- Utilizzo dell'autenticazione token per garantire che la richiesta di API provenga dall'app ufficiale. Molto probabilmente, userò una chiave token condivisa che viene aggiornata ogni mese. Il token si baserà sulla stringa casuale concordata, sull'ID Android e sull'ID dell'applicazione.
- Per prevenire l'ingegneria inversa, utilizzo proguard per offuscare l'app stessa. Non sono sicuro di quanto siano sicuri i proguard, ma le classi Java sono facilmente reversibili. Speriamo che con proguard possa renderlo più difficile.
- Uso MCSSID anche da simcard e ID Android per convalidare ogni accesso utente e quando l'applicazione viene avviata. Una volta, la SIM card viene cambiata, l'utente deve registrare nuovamente tutte le informazioni (come il numero CC, il telefono cellulare e l'OTP dalla banca). Inoltre, il server controllerà una volta che l'ID Android non corrisponde. Il server contrassegnerà la transazione con un rischio più elevato. La banca può chiamarli per verificare la loro transazione.
- L'app non sarà in grado di girare su dispositivi con rooting. Se i dispositivi sono rootati, non consentirà di continuare e terminare l'attività in esecuzione dopo l'avviso.
- Inoltre, in futuro, sto pianificando di verificare regolarmente l'accesso al comportamento degli utenti (ad esempio, Tempo, Posizione in base) per garantire se eventuali attività insolite saranno contrassegnate come ad alto rischio
Dai passi compiuti sopra, c'è qualche azione preventiva che posso spingere di più nei lati della sicurezza?
Grazie