Qual è il modo migliore per crittografare i dati dall'app Android prima di inviarli al server?
Supponendo che io abbia capito bene la domanda, in genere si dovrebbe solo crittografare durante il transito utilizzando TLS .
Perché? Un paio di ragioni:
- per assicurarsi di parlare con l'host corretto, probabilmente userete TLS in ogni caso. se non lo fate (o vi basate puramente sui risultati del DNS) non c'è alcun modo effettivo per assicurarvi di parlare con il giusto endpoint.
- Seguendo il punto #1, implementerete la crittografia nel vostro codice invece di utilizzare una funzionalità standard per tutte le piattaforme. Questo aumenta il rischio di sbagliare e quindi di avere un impatto sul vostro modello di sicurezza
- Avreste anche bisogno di considerare come le cose vengono decriptate dall'altra parte, il che potrebbe potenzialmente portarvi ad un ulteriore pasticcio con la gestione delle chiavi.
- A seconda della dimensione del carico utile, dovreste probabilmente implementare una crittografia simmetrica - come sincronizzereste le chiavi tra tutti i vostri client e server (no, la risposta non è hardcode delle chiavi!!)
- Anche se poteste cavarvela con chiavi asimmetriche (ad esempio coppie di chiavi pubbliche/private), avreste ancora alcune considerazioni sulla gestione delle chiavi, E usereste ancora (probabilmente) TLS. Si viene colpiti due volte sulle prestazioni. Di nuovo, non va bene
Spero che questo spieghi perché di solito si cripta solo in transito, ma forse hai qualche requisito speciale che ti costringe a criptare prima di inviare su TLS.
Articoli simili
- Quali sono i migliori server di hosting per app mobili Android per dati enormi e grande traffico?
- Qual è la differenza tra un server di posta e un server SMTP?
- Qual è il modo migliore per memorizzare le immagini nelle app mobili lato server e caricarle?
- Le aziende di sviluppo giochi hanno i loro server? ...Quali sono i migliori fornitori di server per le aziende di sviluppo di giochi mobili?