2012-10-24 6 views
5

Nel mio approccio, al primo utilizzo l'utente vuole pagare con carta di credito, deve reinserire la sua password di accesso e le informazioni complete della carta di credito.È sicuro che le informazioni sulla scheda creadit del negozio su Android?

dopo il successo pagato, genera una chiave casuale, la impacchetta come un keystore, infine memorizza il file di archivio chiavi nella memoria interna, questo file di archivio chiavi è bloccato dalla password di accesso dell'utente. d'altra parte, le informazioni della carta di credito verranno crittografate da questa chiave e trasformate in una stringa codificata Base64, infine scrivono in un file nella memoria interna.

al successivo pagamento con carta di credito, l'utente deve anche reinserire la sua password di accesso, in modo da poterlo utilizzare per sbloccare il file di archivio chiavi ed estrarre la chiave. a questo punto, ho la possibilità di decrittografare le informazioni della carta di credito dell'utente.

sopra è il mio approccio per proteggere le informazioni della carta di credito memorizzate sul dispositivo, è sicuro?

risposta

1

Sembra che il mio approccio nel mio post è finalmente la mia risposta.

perché andriod fornisce il limite di accesso sulla memoria interna (see this link) , anche il dispositivo viene perso o rubato, l'hacker non può ancora accedere al keystore e interromperlo con il metodo brute-force.

Ma c'è un altro problema.

In un telefono rooted, è possibile ascoltare un "programma errato" con una tastiera virtuale, ci sono altri lavori di studio che dovrei fare.

+0

Non puoi guardarti da tutto. Ad esempio, gli utenti possono installare la propria app per tastiera (ad esempio, Swype), che può sempre registrare tali informazioni come sono state immesse.Penso che la parte importante stia facendo tutti i passi ragionevoli per evitare perdite dall'applicazione, inclusa la possibilità per gli utenti di NON archiviare affatto questi dati. – Thor84no

+0

grazie per il tuo commento! –

2

NON salvare i dati della carta di credito dell'utente su un dispositivo! Non c'è modo di renderlo sicuro. I telefoni con rooting possono essere un modo ancora più semplice per le app di accedere ai dati sensibili. Un dispositivo può essere perso o rubato. Dovrai implementare un accesso utente sicuro al tuo server e memorizzare lì i dati CC.

Provare a utilizzare questa http://developer.authorize.net/downloads/

+0

-1 perché tecnicamente, penso che tu sia un po 'antiquato, come ho e un giro intorno a me diversi dispositivi attuali (e fino a 2 anni) con elementi di sicurezza incorporati per questo uso esatto. – paulkayuk

+1

Immagino che capiresti anche che con il tempo la sicurezza è diventata anche una cosa che può essere facilmente compromessa. –

+0

nel sito degli sviluppatori Android, [questo collegamento] (http://developer.android.com/guide/practices/security.html#Data) dice che se inserisco il mio archivio di chiavi nella memoria interna, il file sarebbe accessibile solo da la mia applicazione. è sufficiente proteggere il mio archivio di keystore ed evitare di essere un attacco di forza bruta? –

0

Non si dovrebbe mai memorizzare un numero di carta di credito su un dispositivo utente.

PCI richiede una modifica trimestrale delle chiavi per i vostri elementi cifrati - quindi come fareste? Forzare l'utente a cambiare la propria password ogni 3 mesi? Cosa succede se non si collegano mai per cambiarlo?

Il metodo è estremamente vulnerabile a un utente malintenzionato che diventa un "cliente" per cercare di violare il sistema: sarà in grado di farlo direttamente sul proprio dispositivo senza che il suo attacco venga rilevato o resisto. Quindi può usare quello che impara ad attaccare i conti degli altri clienti. Per favore fateci sapere su quale sito web state lavorando - Voglio stare lontano, molto lontano da quando avete finito se seguite questo metodo di progettazione.

+0

"modifica chiave trimestrale" significa che la chiave nel keystore dovrebbe cambiare molto spesso? –

+0

"modifica chiave trimestrale" significa che la chiave nel keystore dovrebbe cambiare molto spesso? Forse potrebbe essere raggiunto cambiando la chiave segreta ogni volta dopo il login dell'utente o finendo il suo pagamento (l'utente deve sempre reinserire la password prima di pagare con la carta di credito). d'altra parte ... il keystore è archiviato nella memoria interna che è protetta dal sistema operativo Android, vuoi dire che non dovrei fidarmi del meccanismo di sicurezza fornito dal sistema operativo? –

Problemi correlati