In realtà le app di Phonebook non sono veramente "tutte native". Solo le funzionalità di sistema (come l'accesso ai file, l'accesso alla telecamera, ecc.) Sono tradotte nelle loro controparti Java. Usa ancora una webview e un sacco di javascript per implementare la logica di business dell'applicazione.
Quindi, rispondendo alla tua domanda, il problema di archiviazione locale è ancora un problema valido in quanto è una caratteristica del componente Web View utilizzato da questi framework (PhoneGap, Cordova, Ionic e simili) per rendere l'interfaccia utente.
Inoltre, tutte le richieste che portano elementi di identificazione / segreti (ID sessione, Token di aggiornamento, ecc.) devono essere eseguite tramite HTTPS , impedendo agli osservatori malintenzionati di conoscerne i valori.
Il flag HttpOnly
contrassegnato nel tuo cookie impedisce solo che il valore venga manipolato tramite JavaScript. Pertanto, devi aggiungere il flag Secure
a quei cookie, per evitare di inviarli tramite connessioni non crittografate.
E per favore, se usi connessioni crittografate, non farle accettare alcun certificato. Assicurati di verificare correttamente la validità del certificato fornito dal server.
Invece di disabilitare il controllo o renderlo "vero" per ogni certificato, la soluzione sicura per i certificati autofirmati è quella che hai generato o aggiunto alla CA utilizzata per creare il tuo certificato nell'elenco delle CA attendibili.
Per aiutarti ulteriormente nella ricerca della protezione della comunicazione dell'app per dispositivi mobili:
Documento OWASP che spiega Pinning del certificato
Pagina che parla dei pro e contro e fornisce collegamenti e un esempio
< a href="https://security.stackexchange.com/questions/29988/what-is-certificate-pinning"> domanda SE sull'attacco di certificati
Modifica :
Da quello che ho potuto capire, questo è un comportamento errato creato dall'implementazione del framework. Risposta lunga corta: "Dovrebbe essere possibile, ma abbiamo rovinato tutto." Ho provato a sviluppare app di prova per PhoneGap, ma ho trovato errori (di implementazione) come questo che mi hanno fatto perdere e tornare su Android nativo. Detto questo, vorrei che tu mi inviassi di nuovo la mia risposta a zero, come dovrebbe essere giusto perché la tua applicazione non è nativa come hai detto tu, ma sfortunatamente non è stato in grado di risolvere il problema a causa del modo in cui PhoneGap fa le cose. / p>