Ho ereditato il codice base di un'app mobile legacy (sia nativa di Android che di quella nativa di iOS) e sto eseguendo una revisione della sicurezza su di esso, alcune cose mi sono state di rilievo.
L'app consente a un utente di memorizzare i dettagli della propria carta di credito sul telefono per acquisti futuri (nota: il numero CSN non è memorizzato esplicitamente come misura di sicurezza), quando il numero viene nuovamente presentato il numero viene mostrato mascherato. I numeri sono memorizzati in uno stato hash / crittografato (portachiavi iOS, Android ha come valore crittografato con hash). Quando si effettua un acquisto, i dati della carta di credito vengono inviati attraverso un URL configurabile che utilizza https.
L'app non ha attualmente integrazione con gestori di carte di credito di terze parti (Paypal, Stripe, ecc.)
Spingerò a fare in modo che tutta la gestione della carta di credito avvenga tramite fornitori di terze parti sicuri e mi chiedo se gli standard PCI-DSS vengano violati qui, ho letto le linee guida OWASP e PCI-DSS e nulla sembra da violare direttamente ma sembra che stia superando il limite di farlo.
L'archiviazione della carta di credito su un dispositivo utente mi solleva delle bandiere rosse, quindi vorrei verificare se qualcun altro ha riscontrato qualcosa di simile?